2011-11-11 77 views
1

我有一個大陣列的數組和每個這些子數組有一個ID和一些其他信息。有沒有辦法訪問一個只有ID的數組而不使用循環?PHP從多維數組中檢索項目的數組而不循環?

有點像

$array[ALLOFTHEITEMS][Id]; 

我想最終這些ID的比較ID的另一個平面數組。 我通常會做一個for循環,然後將每個項目的id添加到一個新的數組,然後比較它們。但是有更快的方法嗎?

回答

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方法。