ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

連想配列でソートしたい場合(PHP)

http://www.flickr.com/photos/84122371@N00/2265863104
photo by CalEvans


連想配列の形式

Array
(
    [0] => Array
        (
            [test] => Array
                (
                    [id] => 1
                    [yen] => 10000
                )

            [test_info] => Array
                (
                    [id] => 1
                    [gundam] => Gundam X
                )
        )

    [1] => Array
        (
            [test] => Array
                (
                    [id] => 2
                    [yen] => 50000
                )

            [test_info] => Array
                (
                    [id] => 2
                    [gundam] => Gundam W
                )
        )

    [2] => Array
        (
            [test] => Array
                (
                    [id] => 2
                    [yen] => 400
                )

            [test_info] => Array
                (
                    [id] => 2
                    [gundam] => G Gundam
                )
        )
)
<?php
	// $list -> これは上で見せた連想配列があります
    foreach($list as $key => $v) {
        $yenKey[$key] = $v['test']['yen'];
    }
    array_multisort($yenKey, SORT_DESC, $list);

    // SORT_ASC  -> 昇順
    // SORT_DESC -> 降順


keyを作るために、ループが必要になるのが、ちょっとウザいけど、でも便利なのでよし。


ちなみに、戻り値はboolなので、受け取りは必要になったら記述すればいいと思います。