我有一个示例数组:$a=array(5=>35,16=>22,7=>22,3=>22,11=>22,9=>27,);我想按值对它进行排序并记住它的键。我预期的结果是:$a=array(16=>22,7=>22,3=>22,11=>22,9=>27,5=>35,);所以我的第一个想法是:asort!好的,我做到了asort($a);但不——它不只是将5=>35移动到数组的末尾。它将我的数组更改为:$a=array(11=>22,3=>22,7=>22,16=>22,9=>27,5=>35);你看到了吗?具有相同值的键被反向排序。为什么? 最佳答案
我有一个数组,其中包含西类牙语的语言名称:$lang["ko"]="coreano";//korean$lang["ar"]="árabe";//arabic$lang["es"]="español";//spanish$lang["fr"]="francés";//french我需要对数组进行排序并维护索引关联,所以我使用asort()使用SORT_LOCALE_STRINGsetlocale(LC_ALL,'es_ES.UTF-8');//thisisatthebeginning(configfile)asort($lang,SORT_LOCALE_STRING);print_r(
如果这是一个非常基本的问题,我们深表歉意。我无意中发现asort()似乎适用于多维数组:示例PHP$animals=array(1=>array('name'=>'Zebra'),2=>array('name'=>'Fox'),3=>array('name'=>'Rabbit'),4=>array('name'=>'Dog'),5=>array('name'=>'Cat'));asort($animals);var_dump($animals);输出array5=>array'name'=>string'Cat'(length=3)4=>array'name'=>string'Dog'