PHP:将数据从二维数组复制到一维数组的最快方式


PHP: Fastest way to copy data from two-dimensional array to one-dimensional array

我有一个巨大的二维PHP数组,有5M行。

$t = [
  [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ]
];

现在,我必须将这个数组的id化约为一维:

$o = [ 1, 2 ];

现在,我正在使用一个非常慢的foreach循环(对于5M项占用超过100秒):

foreach ($t as $v){
  array_push($o, $v['id']);
};

我已经尝试使用for代替。这给了我一点时间优势,但仍然花了很长时间。

有更好的解决方案吗?

可能:

$o = array_column($t, 'id');

?相关文档:http://php.net/manual/en/function.array-column.php