그래서 uasort
인 다차원 배열을 내림차순으로 정렬했습니다. 나는 var_dump($winrateArray)
을했는데 제대로 정렬되었습니다. 가장 높은 값은 첫 번째로 반환 된 배열에 있습니다. 그러나 내가 var_dump($winrateArray[0][3])
을 시도 할 때 가장 높은 가치를 기대하는 부분이 있습니다. 대신 $winrateArray[1][3]
에 있습니다. uasort
을 제대로 사용하고 있습니까?PHP는 uasort를 사용하여 배열 정렬
정렬되지 않은 덤프 :
array(2) { [0]=> array(4) { [0]=> string(2) "18" [1]=> string(1) "1" [2]=> int(0) [3]=> int(1) } [1]=> array(4) { [0]=> string(2) "31" [1]=> string(1) "1" [2]=> int(100) [3]=> int(101) } }
결과 순위 덤프 :
array(2) { [1]=> array(4) { [0]=> string(2) "31" [1]=> string(1) "1" [2]=> int(100) [3]=> int(101) } [0]=> array(4) { [0]=> string(2) "18" [1]=> string(1) "1" [2]=> int(0) [3]=> int(1) } }
특정 덤프 :
int(1)
.
$winrateArray[0][0] = '18';
$winrateArray[0][1] = '1';
$winrateArray[0][2] = 0;
$winrateArray[0][3] = 1;
$winrateArray[1][0] = '31';
$winrateArray[1][1] = '1'
$winrateArray[1][2] = 100;
$winrateArray[1][3] = 101;
var_dump($winrateArray);
function cmp($a, $b){
if ($a[3] == $b[3]){
return 0;
}
return ($a[3] < $b[3]) ? 1 : -1;
}
uasort($winrateArray, 'cmp');
var_dump($winrateArray);
var_dump($winrateArray[0][3]);
을 단지 재정렬하고 대체 할 것입니다. 우리가 도움과 테스트를 많이 할 것입니다. – Clay
배열과 결과를 확인해야합니다. – PHPglue
결과가 제대로 정렬되었지만 키가 보존되어 있으므로 원하는 결과가 표시되지 않습니다. – krasipenkov