I have this array.
我有这个数组。
Array
(
[Abdominal ascitis] => 11
[Infection (not neutropenic)] => 25
[Nausea/Vomiting] => 8
[Pain] => 17
[Abdominal pain] => 18
[Bowel obstruction] => 5
[Back pain] => 3
[Bleeding] => 12
[Brain mets] => 8
[Cerebral event] => 11
[Chemotherapy toxicity] => 3
[Neutropenic Sepsis] => 24
[Constipation] => 1
[Diarrhoea] => 3
[Disease progression] => 3
[SVCO] => 2
[Shortness of breath] => 17
[Disease related] => 2
[Chest pain ] => 6
[DVT] => 2
[Falls] => 14
[Hypercalcaemia] => 6
[Jaundice] => 3
[MSCC] => 9
[New diagnosis] => 2
[Other] => 11
[Pleural effusion] => 8
[Surgery related] => 1
[Urinary tract infection] => 3
[AKI] => 3
[Dysphagia] => 4
[Pulmonary Emboli] => 1
[Biliary sepsis] => 1
)
I want to sort it by value.
我想按价值排序。
I tried doing something like this which works 50%.
我尝试做这样的工作50%。
usort($tallyArray, function($a, $b) {
return $a - $b;
});
But it throws away my $key identifier.
但它抛弃了我的$ key标识符。
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
[4] => 2
[5] => 2
[6] => 2
[7] => 2
[8] => 3
[9] => 3
[10] => 3
[11] => 3
[12] => 3
[13] => 3
[14] => 3
[15] => 4
[16] => 5
[17] => 6
[18] => 6
[19] => 8
[20] => 8
[21] => 8
[22] => 9
[23] => 11
[24] => 11
[25] => 11
[26] => 12
[27] => 14
[28] => 17
[29] => 17
[30] => 18
[31] => 24
[32] => 25
)
Any way to sort it and keep the $key identifier?
有什么办法对它进行排序并保留$ key标识符?
2 个解决方案
#1
I think what you're looking for is asort()
instead of usort()
. That'll maintain the key indexes and just sort by values in ascending order.
我认为你要找的是asort()而不是usort()。这将维护关键索引,并按升序排序。
#2
#1
I think what you're looking for is asort()
instead of usort()
. That'll maintain the key indexes and just sort by values in ascending order.
我认为你要找的是asort()而不是usort()。这将维护关键索引,并按升序排序。