2012-01-06 1 views
1

저는 지난 두 시간 동안이 솔루션을 찾으려고했습니다. 당신은 OBJ를 볼 수 있듯이사용자 지정 값 - 다차원 배열이있는 키를 앞에 가져 오기

Array 
(
    [0] => stdClass Object 
     (
      [id] => 128 
      [itemID] => 27 
      [attribute] => xxx 
     ) 

    [1] => stdClass Object 
     (
      [id] => 129 
      [itemID] => 27 
      [attribute] => xxx 
     ) 

    [2] => stdClass Object 
     (
      [id] => 130 
      [itemID] => 27 
      [attribute] => xxx 
     ) 

    [3] => stdClass Object 
     (
      [id] => 131 
      [itemID] => 27 
      [attribute] => xxx 
     ) 

    [4] => stdClass Object 
     (
      [id] => 132 
      [itemID] => 27 
      [attribute] => xxx 
     ) 

    [5] => stdClass Object 
     (
      [id] => 133 
      [itemID] => 27 
      [attribute] => yyy 
     ) 

    [6] => stdClass Object 
     (
      [id] => 134 
      [itemID] => 27 
      [attribute] => xxx 
     ) 

) 

:

나는이 다차원 배열을 가지고있다. 5에는 'yyy'에 대한 속성 키가 있습니다. 나는 forey, yyy 결과가 먼저있을 때 re-order와 같은 'yyy'의 속성 키를 포함하는이 객체를 앞에 가져오고 싶습니다.

다른 스 니펫을 온라인에서 찾았지만 나에게 도움이되는 것을 찾을 수 없었습니다.

답변

1

을 감안할 때 위의 배열 :

function sortMyArray($item1, $item2) { 
    $result = 0; 
    if ($item1->attribute == 'yyy') { 
     $result = -1; 
    } 
    else if ($item2->attribute == 'yyy') { 
     $result = 1; 
    } 
    return $result; 
} 

usort($yourArray, "sortMyArray"); 
+0

@SergeS가 먼저 올바른 대답을 얻었습니다. usort는 갈 길입니다. – davidethell

+0

대단히 감사합니다 !! – MariusH

0

이 볼 - 그래서 일종의 당신에게 당신의 배열을

을 돕고, 속성은 당신이 원하는 경우에 비교하여 사용자 정의 기능을 사용 (반환 -1 YYY에 대한 수 http://www.php.net/manual/en/function.usort.php을 $로 YYY에 대한 $ a와 1 등 B, 그렇지 않으면 0)

+0

대단히 감사합니다! – MariusH

관련 문제