在PHP

2016-09-27 48 views
0

排序的問題,我有一個這樣的數組:在PHP

$country = array(
        "Afrique du Sud", 
        "Mexique", 
        "Pays-Bas", 
        "Îles Cook", 
        "États-Unis", 
        "Émirats arabes unis", 
        "Viêt Nam" 
       ); 

我想解決這陣,我這樣做是這樣的:

sort($country); 

我得到的結果如下:

Array ([0] => Afrique du Sud [1] => Mexique [2] => Pays-Bas [3] => Viêt Nam [4] => Émirats arabes unis [5] => États-Unis [6] => Îles Cook) 

但我期待:

Array ([0] => Afrique du Sud [1] => Émirats arabes unis [2] => États-Unis [3] => Îles Cook [4] => Mexique [5] => Pays-Bas [6] => Viêt Nam ); 

如何才能達到我的預期效果?

+1

http://stackoverflow.com/a/3650743/4431269 –

+1

您需要添加只有兩個線,[1]。 setlocale(LC_COLLATE,'nl_BE.utf8'); \t [2] .usort($ country,'strcoll');這條線添加到你可以得到你的願望輸出。 –

回答

2

對於這種情況,您應該使用The Collator class

要求:(PHP 5> = 5.3.0,PHP 7,PECL國際> = 1.0.0)

描述:提供有用於相應的區域設置敏感的排序支持字符串比較能力排序。

$collator = new Collator('en_US'); 
$collator->sort($country); 
+0

WORKED..Thanks ... !! –