今回は「配列のデータのソート(並び替え)」について書きたいと思います。
まずはサンプルプログラムをみてみましょう。
<?php $fruit = array("Orange","Apple","Strawberry","Blueberry"); print_r($fruit); //確認のため表示 echo "<br>"; sort($fruit); //配列の要素をアルファベット順に並び替える print_r($fruit);
配列の要素(データ)をアルファベット順や、数値の小さい順で並び替えたい場合は
sort(配列の変数) と記述することでソートすることができます。
サンプルプログラムでは英単語の文字列をのデータが配列に入っていたので
アルファベット順に並び替わりますが、数値データが入っていれば数値の小さい順(昇順)
に並び替わります。
では、アルファベットではなく、日本語の場合はどうでしょうか。
サンプルプログラムをみてみましょう。
<?php $fruit = array("おれんじ","りんご","いちご","ぶるーべりー"); print_r($fruit); //確認のため表示 echo "<br>"; sort($fruit); //配列の要素を五十音順に並び替える print_r($fruit); echo "<br>"; $x = array("空","海","山","川"); //漢字もテスト print_r($x); //確認のため表示 echo "<br>"; sort($x); //うみ、かわ、そら、やま になるかな? print_r($x);
実行結果を見て頂ければ分かる通り、ひらがなは五十音順に並び替わります。
一方、漢字はなんとなく読みがな順になるかな?と思いますが、
そうはならないようです。(音読みや、訓読み、複数の読み方があるからなー)
漢字のような複雑なソートはsortではできないようです。