2014-10-23 6 views
-3

PHP 함수를 사용하여 배열을 status_id로 정렬하고 싶습니다. 이 문제를 어떻게 해결할 수 있습니까?다차원 배열을 내부 값으로 정렬

Array 
(
    [0] => stdClass Object 
     (
      [status_id] => 4 
      [status_content] => {"text":"DET VIRKER JO IKKE!!!! ### >"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 20 
     ) 

    [1] => stdClass Object 
     (
      [status_id] => 2 
      [status_content] => {"yt_vid":"Hb3MWuZT_W0","text":"Det her er jo bare awesome!!!"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 20 
     ) 

    [2] => stdClass Object 
     (
      [status_id] => 8 
      [status_content] => {"text":"Hej"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 1 
     ) 

    [3] => stdClass Object 
     (
      [status_id] => 7 
      [status_content] => {"text":"ff"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 1 
     ) 

    [4] => stdClass Object 
     (
      [status_id] => 6 
      [status_content] => {"text":"h"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 1 
     ) 

    [5] => stdClass Object 
     (
      [status_id] => 5 
      [status_content] => {"text":""} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 1 
     ) 

    [6] => stdClass Object 
     (
      [status_id] => 3 
      [status_content] => {"yt_vid":"PSLDZVh1Vtw","text":"This is really funny"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 1 
     ) 

    [7] => stdClass Object 
     (
      [status_id] => 1 
      [status_content] => {"text":"This works, great! huh?"} 
      [status_likes] => 
      [status_dislikes] => 
      [status_owner] => 1 
     ) 

) 
+0

PHP ". – TML

답변

0

도움 주셔서 감사합니다. 드디어 조금 더 나은 모습으로 답을 찾았습니다.

보세요.

usort($r, function($a, $b) { return $a['status_id'] - $b['status_id']; });

당신은 최고 대답은 "이 날 여러 정렬 알고리즘의 구현을 보여 할 수 있도록 표시로 특별히 문제에 적용되는 정보를 얻기 위해 앞의 질문에 최고 답을 넘어 읽을해야합니다
0

종류에있는 모든 항목을 장난감 소원의 간단한 배열을 얻을 수 있지만 당신은

http://php.net/manual/en/function.array-multisort.php

첫 번째 루프는 array_multisort 사용할 필요가 : 여기

배열의 샘플입니다 (상태 ID)를 입력 한 다음 array_multisort에서 정렬하려는 배열에 해당 변수를 사용하십시오.

0

하나의 옵션은 usort 사용자 지정 정렬 기능. 이 사용

function buildSorter($key) { 
    return function ($a, $b) use ($key) { return strnatcmp($a->$key, $b->$key); }; 
} 

당신이 수, : 여기에 몇 가지 속성 이름에 따라 당신을 위해 폐쇄를 구축하는 작은 기능의 동일한 쉽게

usort($data, buildSorter('status_content')); 

또는

usort($data, buildSorter('status_owner')); 

.

관련 문제