array_multisort関数で多次元配列をソートする

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 – 降順にソート