2017-05-30 13 views
1

私の入力データを動作しません。

array:45 [▼ 
    "Ajka" => array:5 [▶] 
    "Budapest XX-XXI. kerület" => array:5 [▶] 
    "Békéscsaba" => array:5 [▶] 
    "Debrecen" => array:5 [▶] 
    "Dunaújváros - Szászhalombatta" => array:4 [▶] 
    "Győr" => array:5 [▶] 
    "Hatvan" => array:5 [▶] 
    "Kaposvár" => array:5 [▶] 
    "Kiskunhalas" => array:5 [▶] 
    "Miskolc - Tiszaújváros" => array:5 [▶] 
    "Nagykanizsa" => array:5 [▶] 
    "Nyíregyháza" => array:5 [▶] 
    "Pécs - Komló" => array:4 [▶] 
    "Székesfehérvár" => array:5 [▶] 
    "Tatabánya" => array:5 [▶] 
    "Tököl" => array:2 [▶] 
    "Vecsés, Gyál" => array:3 [▶] 
    "Veszprém" => array:5 [▶] 
    "Várpalota" => array:3 [▶] 
    "Zalaegerszeg" => array:4 [▶] 
    "Érd" => array:2 [▶] 
] 

私は配列の要素の順序を変更するために、この機能を使用します。

ksort($data,SORT_STRING); 

しかし、関数の結果は同じです。

array:45 [▼ 
    "Ajka" => array:5 [▶] 
    "Budapest XX-XXI. kerület" => array:5 [▶] 
    "Békéscsaba" => array:5 [▶] 
    "Debrecen" => array:5 [▶] 
    "Dunaújváros - Szászhalombatta" => array:4 [▶] 
    "Győr" => array:5 [▶] 
    "Hatvan" => array:5 [▶] 
    "Kaposvár" => array:5 [▶] 
    "Kiskunhalas" => array:5 [▶] 
    "Miskolc - Tiszaújváros" => array:5 [▶] 
    "Nagykanizsa" => array:5 [▶] 
    "Nyíregyháza" => array:5 [▶] 
    "Pécs - Komló" => array:4 [▶] 
    "Székesfehérvár" => array:5 [▶] 
    "Tatabánya" => array:5 [▶] 
    "Tököl" => array:2 [▶] 
    "Vecsés, Gyál" => array:3 [▶] 
    "Veszprém" => array:5 [▶] 
    "Várpalota" => array:3 [▶] 
    "Zalaegerszeg" => array:4 [▶] 
    "Érd" => array:2 [▶] 
] 

しかし、私は、これは結果リストにアッパー削除するERDを期待:

array:45 [▼ 
    "Ajka" => array:5 [▶] 
    "Budapest XX-XXI. kerület" => array:5 [▶] 
    "Békéscsaba" => array:5 [▶] 
    "Debrecen" => array:5 [▶] 
    "Dunaújváros - Szászhalombatta" => array:4 [▶] 
    "Érd" => array:2 [▶] 
    "Győr" => array:5 [▶] 
    "Hatvan" => array:5 [▶] 
    "Kaposvár" => array:5 [▶] 
    "Kiskunhalas" => array:5 [▶] 
    "Miskolc - Tiszaújváros" => array:5 [▶] 
    "Nagykanizsa" => array:5 [▶] 
    "Nyíregyháza" => array:5 [▶] 
    "Pécs - Komló" => array:4 [▶] 
    "Székesfehérvár" => array:5 [▶] 
    "Tatabánya" => array:5 [▶] 
    "Tököl" => array:2 [▶] 
    "Vecsés, Gyál" => array:3 [▶] 
    "Veszprém" => array:5 [▶] 
    "Várpalota" => array:3 [▶] 
    "Zalaegerszeg" => array:4 [▶] 
] 

は私が間違って何をしますか? 'Érd'を結果リストの上部に移動する必要があります。私の場合は 乾杯

+4

https://stackoverflow.com/questions/832709/natural-sorting-algorithm-in-php-with-support -for-ユニコード – castis

+0

@gaalgergelyあなたの質問は、私は質問を更新しフォーマットされたPHPの配列 –

+0

@BunkerBoyを更新してください。 – gaalgergely

答えて

1

は私のために働いていたものを右のソリューションはこれです:

setlocale(LC_COLLATE, 'hu_HU.utf8'); 
uksort($data,'strcoll');