ฉันมีอาร์เรย์ที่มีลักษณะดังนี้:
Array
(
[team1] => Array
(
[points] => 10
[players] => Array
(
...
)
)
[team2] => Array
(
[points] => 23
[players] => Array
(
...
)
)
... many more teams
)
และผมขอเรียงลำดับทีมตามจำนวนคะแนนที่แต่ละทีมมี ฉันได้ลองสิ่งนี้แล้ว:
function sort_by_points($a,$b)
{
if ($a['points']==$b['points']) return 0;
return ($a['points']<$b['points'])?1:-1;
}
usort($this->wordswithdata, "sortbycount");
แต่วิธีการนั้นจะแทนที่คีย์ที่มีชื่อทีมและผลตอบแทน:
Array
(
[0] => Array
(
[points] => 23
[players] => Array
(
...
)
)
[1] => Array
(
[points] => 10
[players] => Array
(
...
)
)
etc...
)
มีวิธีใดในการจัดเรียงอาร์เรย์โดยไม่เขียนทับชื่อทีมเป็นคีย์อาร์เรย์หรือไม่?