PHP で多次元配列をソートする array_multisort の使い方とサンプルコード

多次元配列をソートできる array_multisort() ですが、よく使う割に毎度マニュアルを見てる気がするのでサンプルコードを自分用にメモ。

1
2
3
4
$sort_array = Array();
foreach($titles as $key => $title)
    $sort_array[$key] = strtotime($title['date']);
array_multisort($sort_array, SORT_ASC, SORT_NUMERIC, $titles);

ソートの順序と、ソートに使うのが数値なのか文字列なのかを指定するのはもはや必須かもしれないです。array_multisort() で上手くソートできない場合は大抵このオプションを上手く設定できていない場合が多いかもしれないです。

追記: また数値添字は再度振り直されるので(連想配列のキーの部分です)、配列のキーに数値を入れて、その数値を頼りに後からデータを取り出す場合なんかは、リセットされているので取り出せなくなります。どうしてもキーを頼りにデータを取り出したい場合は、ソート後にキーを設定するようにコードをカキましょう。

コメント

コメントは受け付けていません。