1

通常、名前と電子メール アドレスを含む配列を並べ替えたいと思います。問題は、電子メール アドレスが「a」で始まる場合でも最後に表示されることです。

例えば

$myarray = ("Alex Mayfeild", "David Beckham", "Oliver Twist", "ant.stev@wherever.com", "peter.pan@neverland.com", ........) //and so on

PHP のソート機能を使用して配列をソートすると、"ant.stev@wherever.com" が最後近くに表示されますが、実現したい機能は、彼が Alex の後に表示されることです。

自然順序付けに基づく natcasesort および natsource 関数が失敗するようです。修正: natcasesource は動作し、ドキュメントに記載されているように動作すると true を返します。ありがとう@meagar

要求された機能を実現する方法はありますか。助けてくれてありがとう。とても感謝しています。

4

2 に答える 2

2

sort()文字のASCII値に基づいてソートされるため、大文字と小文字が区別されます。

natcasesort()「大文字と小文字を区別しない「自然順序」アルゴリズムを使用して配列をソートする」ことも必要な場合は、 を試してください。

于 2012-08-02T21:55:40.740 に答える
-1

sort($myarray, SORT_STRING|SORT_FLAG_CASE);あなたが望むように配列をソートする必要があるように私には思えます。

于 2012-08-02T21:55:29.913 に答える