数组去重处理的时候,有时候我们需要把一个二维数组的某个字段的值提到key的位置。
这个时候,我们就可以借助 array_column 这个函数。

1)、获取二维数组单个key的所有值
$arr = array(
array(
'id' => 5698,
'first_name' => 'Bill',
'last_name' => 'Gates',
),
array(
'id' => 4767,
'first_name' => 'Steve',
'last_name' => 'Jobs',
),
array(
'id' => 3809,
'first_name' => 'Mark',
'last_name' => 'Zuckerberg',
)
);
$res = array_column($arr,'id');
输出结果:
array(3) {
[0]=>
int(5698)
[1]=>
int(4767)
[2]=>
int(3809)
} 2)、把二维数组某个字段的值提到key的位置
$arr = array(
array(
'id' => 5698,
'first_name' => 'Bill',
'last_name' => 'Gates',
),
array(
'id' => 4767,
'first_name' => 'Steve',
'last_name' => 'Jobs',
),
array(
'id' => 3809,
'first_name' => 'Mark',
'last_name' => 'Zuckerberg',
)
);
$res = array_column($arr, NULL, 'id');
var_dump($res);
输出结果:
array(3) {
[5698]=>
array(3) {
["id"]=>
int(5698)
["first_name"]=>
string(4) "Bill"
["last_name"]=>
string(5) "Gates"
}
[4767]=>
array(3) {
["id"]=>
int(4767)
["first_name"]=>
string(5) "Steve"
["last_name"]=>
string(4) "Jobs"
}
[3809]=>
array(3) {
["id"]=>
int(3809)
["first_name"]=>
string(4) "Mark"
["last_name"]=>
string(10) "Zuckerberg"
}
}或者:
$temp_key = array_column($arr,'id'); //键值 $res = array_combine($temp_key,$arr) ; var_dump($res);
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn