因此,我按降序对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