だから、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