2013-09-05 3 views
3

나는 다차원 배열에서 특정 값을 검색 할 수있는 효율적인 알고리즘을 찾고 있습니다. 나는 다음과 같은 것을 가지고있다 :PHP의 효율적인 다차원 배열 검색 알고리즘 구현

$stuff = array(
    array(
     'id' => 'abc123', 
     'name' => 'test' 
     'contents' => 'Lorem ipsum' 
    ), 
    array(
     'id' => 'abc123', 
     'name' => 'test' 
     'contents' => 'Lorem ipsum' 
    ), 
    array(
     'id' => 'abc123', 
     'name' => 'test' 
     'contents' => 'Lorem ipsum' 
    ), 
    array(
     'id' => 'abc43', 
     'name' => 'test' 
     'contents' => 'Lorem ipsum' 
    ), 
    array(
     'id' => 'xyzh31', 
     'name' => 'test' 
     'contents' => 'Lorem ipsum' 
    ), 
); 

id = abc43 인 항목을 찾아야한다. 이 작업을 어떻게 효율적으로 수행 할 수 있습니까? 전체 배열을 탐색하는 것보다 더 나은 알고리즘을 알고 있습니까?

+0

찾고있는 id 값을 검사하는 함수와 함께 'array_filter'를 사용하면 가장 먼저 생각할 사항입니다 ... – CBroe

답변

0

나는 array_multisort()을 사용해야한다고 생각하는데, 이것은 얻을 수있는만큼 효율적이며 매트릭스에서 값을 검색하는 데 개인적으로 사용합니다.

0

앞서 설명한 것처럼 array_multisort()를 사용한 다음 이진 검색 알고리즘을 구현할 수 있습니다. 나는 그것을 seudocode에서 묘사하려고 노력할 것이다. 항목 항목 소자 반복 스텝 미만이면 배열

  • 의 낮은 부분에서, 소자 단계를 반복하여 1보다 작은 경우 (부)의 중앙 배열
    1. 시도 1 배열의 상위 부분에서
  • +0

    ID가 순차적이지 않습니다. – vinnylinux

    +2

    나는 그것들이 유일하고 문자열이라고 가정하고 주문할 수 있다고 생각한다. –