array_multisort関数を用いることによって、多次元配列を指定したキーの値によってソートすることが出来ます。 書き方は、 array_multisort(ソートに用いるキーの値を格納した配列,ソート方法,ソートする多次元配列) です。 具体的な使い方は以下のようになります。
<コード>
<?php // 1.配列をに代入 $dataArr[] = array("key1" => 100, "key2" => 3, "key3" => 30); $dataArr[] = array("key1" => 200, "key2" => 2, "key3" => 25); $dataArr[] = array("key1" => 300, "key2" => 1, "key3" => 35); // 2.配列をソートする準備(key3の値を配列に格納) foreach($dataArr as $data => $value){ $sort[$data] = $value["key3"]; } // 3.配列をソート array_multisort($sort, SORT_ASC, $dataArr);//key3の値によって、昇順にソートする // 4.配列を出力 print_r($dataArr); ?>
<出力結果> Array ( [0] => Array ( [key1] => 200 [key2] => 2 [key3] => 25 ) [1] => Array ( [key1] => 100 [key2] => 3 [key3] => 30 ) [2] => Array ( [key1] => 300 [key2] => 1 [key3] => 35 ) )
<ソートの種類> SORT_ASC – 昇順にソート SORT_DESC – 降順にソート