文字と数字が混在するとデータが格納された配列をsort()関数で並べ替えた場合、その大小は機械的なアルゴリズムによって処理されるため、人間のイメージする順番とは異なることがあります。そこで、natsort()関数を使うことによって、人間が行う自然な順番で配列を並べ替えることができます。
このサンプルでは同じ$valueに対して、sort()関数とnatsort()関数の違いを例示しています。実行結果を確認することによって、両者の違いが分かります。
<?php header("Content-type: text/html; charset=utf-8"); $values = array("data1","data10","data2","data20","data3","data30"); sort($values); echo "sort()関数による並べ替え結果<br>"; foreach($values as $data){ echo $data . "<br>"; } echo "<br><br>"; natsort($values); echo "natsort()関数による並べ替え結果<br>"; foreach($values as $data){ echo $data . "<br>"; } ?>