PHP从多维数组中检索项目数组而不循环?

时间:2011-11-11 15:50:25

标签: php arrays loops multidimensional-array for-loop

我有一大堆数组,每个子数组都有一个ID和一些其他信息。有没有办法在不使用循环的情况下访问ID的数组?

有点像

$array[ALLOFTHEITEMS][Id]; 

我想最终将这些ID与另一个ID的平面数组进行比较。 我通常会做一个for循环,然后只需将每个项的id添加到一个新数组中,然后比较它们。但有更快的方法吗?

1 个答案:

答案 0 :(得分:2)

不确定它是否比foreach更快,因为我从未对它进行过基准测试,但是替代foreach将是:

php 5.3

$ids = array_map(function($data) { return $data['id']; }, $array);

php< 5.3

function reduceToIds($data) {
    return $data['id'];
}

$ids = array_map('reduceToIds', $array);

我通常会自己使用foreach方法。