私はアルファベット順に名前の配列をソートしようとしています(この場合クロアチア語)。ローカリゼーションを考慮して配列をソートする方法は?
Đani
をDerrick
より前に表示するにはどうすればよいですか?
$names = array(
"Đani", "Bill", "Dennis", "George", "Derrick"
);
sort($names);
print_r($names);
私はアルファベット順に名前の配列をソートしようとしています(この場合クロアチア語)。ローカリゼーションを考慮して配列をソートする方法は?
Đani
をDerrick
より前に表示するにはどうすればよいですか?
$names = array(
"Đani", "Bill", "Dennis", "George", "Derrick"
);
sort($names);
print_r($names);
をあなたは、おそらくこのように、適切なロケールを設定する必要があります。
setlocale(LC_ALL, 'hr_HR');
そしてロケールを称えるためにソート言う:
sort($names,SORT_LOCALE_STRING);
Damnit、あなたは私とまったく同じ答えを投稿しましたが、クロアチアのロケールコードを見つけるのに少し時間がかかりました。 +1 –
あなたは、あなたがMySQLのテーブルにインポートすることができますし、データベース/テーブルの右の照合を設定して、ソートするORDER BY
句を使用することができます。
RDMSを必要としない簡単なソリューションがあると確信しています。
は、同様にその質問に見てみましょう:Natural sorting algorithm in PHP with support for Unicode?
これは私の最初のコールポートでしたが、私のホストはクロアチアの照合をサポートしていないmYSQL 5.1を実行しています。 SORT BYは事実上壊れています。私はこれが5.6で修正されたと信じています。 – thv20
[UnicodeをサポートするPHPでのNatural sortingアルゴリズムの可能な複製?](http://stackoverflow.com/questions/832709/natural-sorting-algorithm-in-php-with-support-for-unicode) –