我有一个巨大的二维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