最近在学习使用array_column函数,发现一个比较实用的用法。很多时候,我们在获取的二维数组都是索引数组,在某些时刻使用时并不方便,最好是能够以某个字段的值作为键名,这样就能更好的使用了。绝大多数人都是使用foreach进行遍历,然后创建一个新的数组,以遍历中的某个字段值为键名,现在有个更简单的方法实现这个功能
$array = array(
array('id'=>'3','name'=>'tom'),
array('id'=>'5','name'=>'jerry'),
array('id'=>'24','name'=>'spike')
);
$newArray1 = array_column($array,NULL,'id');
var_dump($newArray1);
//结果
array(
'3'=>array('id'=>'3','name'=>'tom'),
'5'=>array('id'=>'5','name'=>'jerry'),
'24'=>array('id'=>'24','name'=>'spike')
)
$newArray2 = array_column($array,NULL,'name');
var_dump($newArray2);
//结果
array(
'tom'=>array('id'=>'3','name'=>'tom'),
'jerry'=>array('id'=>'5','name'=>'jerry'),
'spike'=>array('id'=>'24','name'=>'spike')
)