一、一个数组里面有两组数据,指定的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;
}