数组去重处理的时候,有时候我们需要把一个二维数组的某个字段的值提到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