Dragon
主机之家测评主机之家测评  2019-08-23 07:32 主机之家测评 隐藏边栏 |   抢沙发  10 
文章评分 0 次,平均分 0.0

有如下数组,我们的需求是提取数组中的列组成新数组。

  $users = array(      '0' => array('' => 1, 'name' => 'name1'),      '1' => array('id' => 2, 'name' => 'name2'),      '2' => array('id' => 3, 'name' => 'name3'),      '3' => array('id' => 4, 'name' => 'name4'),      '4' => array('id' => , 'name' => 'name5'),  );  //需要得到的结果:  $names = array('name1', 'name2', 'name3', 'name4', 'name5');

方法 1:使用 array_column()

array_column()是 PHP 在 5.5.0 版本之后新添加的一个专用,用于返回数组中指定的一列(本方法只能使用在 php5.5 以上版本)。

使用方法:

  $names = array_column($users 'name');

方法 2:使用 array_walk()

array_walk()函数使用自定义函数对数组中的每个元素做回调处理

使用方法:

$names = array();  array_walk($users, function($value, $key) use (&$names ){      $names[] = $value['name'];  });

方法 3:使用 array_map()

array_map()为数组的每个元素应用回调函数,array_map 与 array_walk 的使用方法基本相同

使用方法:

  $names = array();  array_map(function($value) use (&$names){     $names[] = $value['name'];  }, $users);

方法 4:使用 foreach 循环遍历

foreach 相对上述三种方法执行效率稍低

使用方法:

  $names = array();  foreach ($users as $value) {      $names[] = $value['name'];  }

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享