我有持有西班牙語言的名稱的數組:排序有特殊字符數組在PHP
$lang["ko"] = "coreano"; //korean
$lang["ar"] = "árabe"; //arabic
$lang["es"] = "español"; //spanish
$lang["fr"] = "francés"; //french
我需要訂購陣列並保持索引關係,所以我用asort()與SORT_LOCALE_STRING
setlocale(LC_ALL,'es_ES.UTF-8'); //this is at the beginning (config file)
asort($lang,SORT_LOCALE_STRING);
print_r($lang);
預期產出將是這個順序:
- 陣列([AR] => ARABE [KO] => coreano [ES] =>西班牙語[FR] =>八方資源)
然而,這是我收到什麼:
- 陣列([KO] => coreano [ES] =>西班牙語[FR] =>八方資源[AR] => ARABE)
我缺少的東西?感謝您的反饋意見! (我的服務器使用的PHP版本5.2.13)
狂猜:可能是因爲'c'在'á'之前? –
這就是我使用SORT_LOCALE_STRING的原因。 'á'應該在'a'之後和'c'之前。 – andufo
好吧,祝你好運:) –