1

ソート機能に問題があります。

配列でソートしようとすると、順序が悪くなります。例:

$arr = array("Cero","Uno","dos","Tres","Cuatro","Cinco","Seis","Siete");
sort($arr);
foreach($arr as $key => $value){
    echo $key . "=>" . $value . "<br/>";
}

書く :

0=>Cero
1=>Cinco
2=>Cuatro
3=>Seis
4=>Siete
5=>Tres
6=>Uno
7=>dos //wtf, last item are "d" ?!

rsortを試してみると、次のようになります。

0=>dos //again, last item are "d" ?!
1=>Uno
2=>Tres
3=>Siete
4=>Seis
5=>Cuatro
6=>Cinco
7=>Cero

asort、arsort、sort、rsortを試しましたが、常に悪い順序が返されます。あなたが理由を知っている?またはそれを修正する方法?ありがとう!

4

2 に答える 2

6

大文字と小文字を区別しないフラグを渡します。

sort($arr, SORT_FLAG_CASE);
于 2012-10-24T23:21:15.470 に答える
1

PHP のバージョンに応じて、sort() または natcasesort() のいずれかを使用できます。

php5.4 のリリース以降、sort 関数で使用できる SORT_FLAG_CASE というフラグがあります。

sort($array, SORT_FLAG_CASE);

すべてのサーバーが php 5.4 を実行しているわけではないため、少なくともその前に natcasesort 関数を使用していたことを知っておく必要があります。

natcasesort($array);

詳細については、 php.net マニュアルを確認してください。

于 2012-10-24T23:29:00.180 に答える