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

时间:2015-09-10 20:17:54

标签: php arrays

我有一个巨大的二维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。这给了我一点时间优势,但仍然需要很长时间。

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:6)

也许:

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

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