将二维数组转为一维数组的2种方法

在开发过程中,我们经常需要将二维数组转为一维数组,个人总结了2种方法,分享给大家。

如何将下面的二维数组转为一维数组,代码如下:

  1. $msg = array(
  2.   array(
  3.     'id'=>'45',
  4.     'name'=>'jack'
  5.   ),
  6.   array(
  7.     'id'=>'34',
  8.     'name'=>'mary'
  9.   ),
  10.   array(
  11.     'id'=>'78',
  12.     'name'=>'lili'
  13.   ),
  14. );

第一种方法:

  1. foreach($msg as $k => $v){
  2.     $ids[] = $id;
  3.     $names[] = $name;
  4.   }

第二种方法:

  1. $ids = array_column($msg, 'id');
  2. $names = array_column($msg, 'name');

以上两种解法print_r($names);后的结果为:

  1. Array(
  2.   [0]=>jack
  3.   [1]=>mary
  4.   [2]=>lili
  5. )

注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id');

print_r($n);的结果为:

  1. Array(
  2.   [45]=>jack
  3.   [34]=>mary
  4.   [78]=>lili
  5. )