PHP二维数组用某个字段的值当做键名

时间:2020-12-29 09:09:39

最近在学习使用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')
)