php二维数组对某一列进行数据组装

demo示例:

1 $data = array(
2     '0' => array('id' => 10, 'username' => '陈一'),
3     '1' => array('id' => 11, 'username' => '洪二'),
4     '2' => array('id' => 12, 'username' => '张三'),
5     '3' => array('id' => 13, 'username' => '李四')
6 );

 

方法一:  foreach循环方法实现

1 foreach ($data as $key=>$value) {
2     $idData[] = $value['id'];
3     $usernameData[] = $value['username'];
4 }
5 
6 var_dump($idData);//array(4) { [0]=> int(10) [1]=> int(11) [2]=> int(12) [3]=> int(13) }
7 var_dump($usernameData);//array(4) { [0]=> string(6) "陈一" [1]=> string(6) "洪二" [2]=> string(6) "张三" [3]=> string(6) "李四" }

 

方法二:  array_map函数方法  函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组.

1 $callBackData = array_map(function($value){
2     return $usernameData[] = $value['username'];
3 }, $data);
4 var_dump($callBackData);//array(4) { [0]=> string(6) "陈一" [1]=> string(6) "洪二" [2]=> string(6) "张三" [3]=> string(6) "李四" }

 

方法三: array_column函数方法  相对实现简单,但是要求PHP版本必须是5.5.0及以上版本

1 $usernameData = array_column($data, 'username');
2 var_dump($usernameData);//array(4) { [0]=> string(6) "陈一" [1]=> string(6) "洪二" [2]=> string(6) "张三" [3]=> string(6) "李四" }

 

方法四: array_walk函数方法  函数对数组中的每个元素应用用户自定义函数.在函数中,数组的键名和键值是参数.

1 $usernameData = array();
2 array_walk($data, function($value, $key) use (&$usernameData){
3     $usernameData[] = $value['username'];
4 });
5 var_dump($usernameData);//array(4) { [0]=> string(6) "陈一" [1]=> string(6) "洪二" [2]=> string(6) "张三" [3]=> string(6) "李四" }

 

方法五: array_reduce函数方法  函数向用户自定义函数发送数组中的值,并处理最终返回值.

array_reduce(array,myfunction,initial)  注意: PHP 5.3.0 以上,initial 参数接受多类型(混合的);  PHP 5.3.0 之前的版本只支持整数.

1 $usernameData = array_reduce($data,function(&$usernameData,$v){
2     $usernameData[] = $v['username'];
3     return $usernameData;
4 });
5 var_dump($usernameData);//array(4) { [0]=> string(6) "陈一" [1]=> string(6) "洪二" [2]=> string(6) "张三" [3]=> string(6) "李四" }

 

posted @ 2018-10-23 12:16  echo曦  阅读(1334)  评论(0编辑  收藏  举报