2015-02-06 5 views
0

하여 mutidimensional 복잡한 배열을 정렬 나는 다음과 같은 형식의 데이터가 : 나는 나이를 정렬 할

Array 
(
    [1] => User Object 
     (
      [name] => 'John' 
      [sAdr] => 'Addr1' 
      [Children] => Array 
       (
        [101] => Children Object 
         (

          [aChildren] => Array 
           (
            [0] => Child Object 
             (
              [age] => 21 
             ) 

            [1] => Child Object 
             (

              [age] => 19 
             ) 

           ) 

         ) 

       ) 

     ) 

    [2] => User Object 
     (
      [name] => 'Jane' 
      [sAdr] => 'Addr2' 
      [Children] => Array 
       (
        [101] => Children Object 
         (

          [aChildren] => Array 
           (
            [2] => Child Object 
             (
              [age] => 32 
             ) 

            [3] => Child Object 
             (
              [age] => 17 
             ) 

           ) 

         ) 

       ) 

     ) 

) 

합니다. 내가 본 예들은 내가 그 종류를 성취하는 것을 돕지 못했다. 누군가 내게 어떤 방향을 제시 할 수 있습니까? 나는 완전한 논리가 필요없고, 이것을 달성하는 방법에 대한 단서 만 있습니다.

예상 출력 : 당신은 usort를 사용할 필요가

Array 
    (
    [1] => User Object 
     (
      [name] => 'John' 
      [sAdr] => 'Addr1' 
      [Children] => Array 
       (
        [101] => Children Object 
         (

          [aChildren] => Array 
           (
            [0] => Child Object 
             (
              [age] => 19 
             ) 

            [1] => Child Object 
             (

              [age] => 21 
             ) 

           ) 

         ) 

       ) 

     ) 

    [2] => User Object 
     (
      [name] => 'Jane' 
      [sAdr] => 'Addr2' 
      [Children] => Array 
       (
        [101] => Children Object 
         (

          [aChildren] => Array 
           (
            [2] => Child Object 
             (
              [age] => 17 
             ) 

            [3] => Child Object 
             (
              [age] => 32 
             ) 

           ) 

         ) 

       ) 

     ) 

) 
+0

정렬 나이 무엇인지 정확히? 자녀의 * 연령 *별로 정렬 된 첫 번째 배열 수준? 그게 정확히 어떻게 작동해야합니까? 또는 각 배열 요소의 자식? 그 결과는 무엇을 기대합니까? – deceze

+0

http://stackoverflow.com/questions/1597736/how-to-sort-an-array-of-associative-arrays-by-value-of-a-given-key-in-php?rq = 1 – MisterBla

+0

내 질문을 편집하고 예상 결과를 작성했습니다. – TinTin1

답변

1

. 사용자가 제공 한 비교 함수를 사용하여 값을 기준으로 배열을 정렬합니다. 당신이 이것을 달성하는 방법 아이디어를 얻을 수 있습니다 있도록

그것의 http://php.net/manual/en/function.usort.php

확인 예제를 봐 주시기 바랍니다.

0

간단한 루프를 사용하여 수행 할 수 있습니다.

처럼 :

foreach($array as $a) 
{ 
    //some code 
} 
+2

http://cafehayek.com/wp-content/uploads/2014/03/miracle_cartoon.jpg – deceze

+1

@deceze awesome – Afsar