2011-11-11 16 views
1

私は大きな配列の配列を持っており、これらの各サブ配列にはIDとその他の情報があります。ループを使わずにIDの配列にアクセスする方法はありますか?私は最終的にIDの別の平らな配列にこれらのIDを比較したい PHPはループのない多次元配列から項目の配列を取得しますか?

よう
$array[ALLOFTHEITEMS][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); 

I通常はforeachアプローチを使用します。