2009-12-28 9 views
3

PHP를 처음 사용했습니다. 두 차원 PHP 배열이 있습니다. "내부"배열에는 정렬 할 값이 있습니다. 예를 들어2 차원 배열 정렬

:

$myarray[1]['mycount']=12 
$myarray[2]['mycount']=13 
$myarray[3]['mycount']=9 

내가 내림차순으로 "내부"배열을 정렬 할 수 있습니다.

그래서 다음에 대한 결과는 사전에 13, 12, 9

foreach ($myarray as $myarr){ 
    print $myarr['mycount'] 
} 

감사 할 것이다.

답변

7

usort();을 사용하여 사용자 정의 비교를 통해 정렬 할 수 있습니다.

// Our own custom comparison function 
function fixem($a, $b){ 
    if ($a["mycount"] == $b["mycount"]) { return 0; } 
    return ($a["mycount"] < $b["mycount"]) ? -1 : 1; 
} 

// Our Data 
$myarray[0]['mycount']=12 
$myarray[1]['mycount']=13 
$myarray[2]['mycount']=9 

// Our Call to Sort the Data 
usort($myArray, "fixem"); 

// Show new order 
print "<pre>"; 
print_r($myArray); 
print "</pre>"; 
+0

나는 다음과 같은 오류가 발생하고 이미 촬영 정렬 정렬 기능을 이름 – Tihom

+0

"종류() 매개 변수 2, 배열이 지정된 long있을 것으로 기대". 이제 그것을 cmp로 변경했습니다. 다른 오류가 발생합니다 : usort() [function.usort] : 유효하지 않은 비교 함수 – Tihom

+0

코드가 어떻게 보이는지 보여주십시오. – Sampson