PHP获取数组中的指定列为新数组的方法

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

  $users = array(      '0' => array('id' => 1, 'name' => 'name1'),      '1' => array('id' => 2, 'name' => 'name2'),      '2' => array('id' => 3, 'name' => 'name3'),      '3' => array('id' => 4, 'name' => 'name4'),      '4' => array('id' => 5, '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'];  }

声明: 1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。 2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。 3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。 4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。:吾爱主机之家 » PHP获取数组中的指定列为新数组的方法