PHP数组处理

一、一个数组里面有两组数据,指定的key的value作为新的索引,另一个key的value作为新索引的value
public static function index(array $array, $name)
{
    $indexedArray = array();

    if (empty($array)) {
        return $indexedArray;
    }

    foreach ($array as $item) {
        if (isset($item[$name])) {
            $indexedArray[$item[$name]] = $item;
            continue;
        }
    }

    return $indexedArray;
}
例如:$array = array(array('id'=>1,
           'name'=>'xiaogou'
          ),
          array('id'=>2,
           'name'=>'xiaomao'
        )
直接return index($array,'id');

    结果就是array('1'=>'xiaogou','2'=>'xiaomao');


二、获取数组指定key的value集合
public static function column(array $array, $columnName)
{
    if (empty($array)) {
        return array();
    }

    $column = array();

    foreach ($array as $item) {
        if (isset($item[$columnName])) {
            $column[] = $item[$columnName];
        }
    }

    return $column;
}
例如:$array = array(array('id'=>1,'name'='xiaogou'),array('id'=>2,'name'=>'xiaomao'));

$array_ids = column($array,'id');

$array_ids 结果就是array(0=>1,1=>2);




三、获取数组指定key的值(与上面的集合不同,这个是直接获取值)
public static function get(array $array, $key, $default)
{
    if (isset($array[$key])) {
        return $array[$key];
    } else {
        return $default;
    }
}


四、替换多维数组的相同键的值
public static function rename(array $array, array $map)
{
    $keys = array_keys($map);

    foreach ($array as $key => $value) {
        if (in_array($key, $keys)) {
            $array[$map[$key]] = $value;
            unset($array[$key]);
        }
    }

    return $array;
}
五、返回两个数组的交集
array_intersect

if(array_intersect($array1, $array2)){
    return ture;

}

猜你喜欢

转载自blog.csdn.net/sinat_15955423/article/details/79884288