配列のソート
配列の比較は、まず配列の要素数の大小を比較する。 このおかげでソートが自分の期待通りに行かないということがわかった。
次の配列をソートする場合を考える。
<?php $items = array( array("Z", "X"), array("A", "B", "C"), array("A", "D"), );
ソートした結果の期待値はこうだ。
<?php array( array("A", "B", "C"), array("A", "D"), array("Z", "X"), );
配列の先頭の値から順に(キーに関わらず)大小関係を比較していきたい。 でも、sort() を使ってソートするとこうなる。
<?php array( array("A", "D"), array("Z", "X"), array("A", "B", "C"), );
というわけで、期待通りの結果を返すソート関数を作成した。コードはこちら。