PHPのソート・コマンドに注意

投稿日: 2014年7月22日 | カテゴリ:『トピックス』>自宅サーバー

昨日(7月21日)、不正アクセス(主にコメントスパム)集計プログラムを作成しているとき、PHPのrsort(降順ソート)を使用した際、数値のソートがうまくいかない現象が起こりました。例えば、配列の先頭が9、11、26、16の場合、ソートをかけると、9→26→16→11のようにソートされてしまいます(後で解ったのですが、これはデフォルト・オプションの文字列でソートした結果でした)。意図した順番は、26→16→11→9のようになるはずでした。私の使用しているphpの教科書を参照して、ソートコマンドを変えたりしてやってみましたがダメ。ネットで調べてみたが、なかなか適切なものが見つかりません。それでも、1件、ソートのオプションを挙げているサイトが見つかりました。それによると数値でのソートの場合、次のようなオプションを指定します。

rsort($total_AR,SORT_NUMERIC);

これで、無事解決。
参考サイト:
忘れっぽいエンジニアのPHPリファレンス



コメントを残す




空欄に計算式を満たす数値を記入してください(必須)