読者です 読者をやめる 読者になる 読者になる

Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

PHPで多次元配列をソートする

最近はPHPを使う機会が多いので、ちょっと勉強になった便利な関数をメモ。

array_multisort

多次元配列のキーを自由に変えてソート出来る便利な関数。
どのように便利かというと、結構良くあるのが名前順・価格順・最新日付順とかリンクになってて、それを押すとソートするような作り方をしている場合。
そのリンクが押されたら、押されたボタンの値をキーとして、ソートするだけなので、非常に簡単で便利なのです。

  $item_ary = array(
                  "name" => "鞄", 
                  "price" => 20000, 
                  "date" => "2008/01/01"
                );
  $item_ary = array(
                  "name" => "靴", 
                  "price" => 10000, 
                  "date" => "2008/02/01"
                );
  $item_ary[] = array(
                  "name" => "服", 
                  "price" => 30000, 
                  "date" => "2008/03/01"
                );

    $price_ary = array();
    foreach ($item_ary as $key => $val) {
        $price_ary[$key] = $val['price'];
    }
    array_multisort($price_ary, SORT_ASC, $item_ary);

こうすれば、金額の安い順にソートされる。
もちろんSORT_DESCとすれば、降順にも出来る。