3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Works fine if the key are not numerical */ $arrTags = []; $arrTags['mango'] = 2; $arrTags['orange'] = 4; $arrTags['apple'] = 2; $arrTags['banana'] = 3; array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags); echo "Elegant solution works fine if keys are not numerical:\r\n"; var_dump($arrTags); /** * If keys are numerical, they will be ignored */ $arrTags = []; $arrTags[10] = 2; $arrTags[20] = 4; $arrTags[30] = 2; $arrTags[40] = 3; array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags); echo "If keys are numerical, they will be ignored:\r\n"; var_dump($arrTags); /** * A slightly less elegant solution will work. */ $arrTags = []; $arrTags[10] = 2; $arrTags[20] = 4; $arrTags[30] = 2; $arrTags[40] = 3; $keys= array_keys($arrTags); $values= array_values($arrTags); array_multisort($values, SORT_DESC, $keys, SORT_ASC); $arrTags = array_combine($keys, $values); echo "If numerical keys are important, the slightly less elegant solution will work:\r\n"; var_dump($arrTags);

preferences:
62.87 ms | 402 KiB | 5 Q