我有这个数组,我想对它进行排序(ASC)?
$stand_array[$player_name][$player_points] = $player_rank;
的print_r
Array
(
[Player1] => Array
(
[50] => 5.7
)
[Player2] => Array
(
[40] => 4.2
)
[Player3] => Array
(
[30] => 3.7
)
[Player4] => Array
(
[20] => 2.3
)
[Player5] => Array
(
[10 => 1.5
)
[Player6] => Array
(
[60] => 6.3
)
)
你想帮我解决$ player_rank(ASC)上的这个数组吗?
注意:我尝试过这个功能,但它不起作用:
function sortByOrder($a, $b) {
return $a[$player_rank] - $b[$player_rank];
}
usort($myArray, 'sortByOrder');
答案 0 :(得分:1)
$player_rank
函数范围内无法显示变量sortByOrder
。此外,每个播放器阵列中的索引都不同,因此您需要像这样访问它:
function sortByOrder($a, $b)
{
$a = end($a);
$b = end($b);
if ($a == $b)
{
return 0;
}
return ($a < $b) ? -1 : 1;
}
usort($myArray, 'sortByOrder');
如果您想在$myArray
中保存密钥,则必须使用uasort
功能代替usort
。