2011-11-11 2 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 접근 방식을 사용합니다.

관련 문제