2016-07-12 8 views
0

나는 [[name '] s ['age ']와 같이 itsefl 배열을 포함하는 배열을 가지고 있습니다. 구조가 [또는} 어떻게 표현되는지 정확히 알지 못합니다.배열의 배열을 2 필드만큼 문자열과 숫자

tab { 
     s { ['name'] 
      ['age'] 
     } 

}

그 내 코드 함수 CMP ($ A, $의 b) { 복귀 STRCMP ($ A [ '이름', $의 B [ '이름'])이있다; 내가 이름을 다음 세

에 의해 먼저 정렬하고 싶은

}

usort($result, "cmp"); 

foreach($result as $s) { 
    foreach($s as $t) { 
    DisplayError("antoine 20") 
    DisplayError("antoine 88") 
    DisplayError("antoine 19") 
    } 

} 나는 오랜 시간을 검색하지만 어려운

+0

새로운 배열 [ 'nameAge']을 사용한 트릭을 발견했으며 함수 cmpNameAge ($ a, $ b) { return strcmp ($ a [ 'nameAge'], $ b [ 'nameAge']); } – aez

답변

1

는이 비교기 사용할 수 있습니다

function cmp($a, $b) { 
    if ($a['name'] == $b['name']) { 
     return $a['age'] - $b['age']; 
    } 
    return strcmp($a['name'], $b['name']); 
} 

usort($arr, 'cmp');