2次元配列のソート


2次元配列のソートをコードでメモしておく。

<?php
$arr = array(
    0 => array(
        'foo' => 0,
        'bar' => 'あ',
        'hoge' => 'い'
    ),
    1 => array(
        'foo' =>0,
        'bar' =>'a',
        'hoge'=>'b'
    ),
    2 => array(
        'foo' => 10,
        'bar' => '亜',
        'hoge' => '位'
    ),
    3 => array(
        'foo' => 5,
        'bar' => 'ア',
        'hoge'=> 'イ'
    )
);
foreach ($arr as $key => $row) { // --- [1]
    $foo[$key] = $row["foo"];
}
array_multisort($foo,SORT_ASC,$arr); // SORT_ASC 昇順 , SORT_DESC 降順

print_r($arr);
// 結果 Array ( [0] => Array ( [foo] => 0 [bar] => a [hoge] => b ) [1] => Array ( [foo] => 0 [bar] => あ [hoge] => い ) [2] => Array ( [foo] => 5 [bar] => ア [hoge] => イ ) [3] => Array ( [foo] => 10 [bar] => 亜 [hoge] => 位 ) ) 
?>

[1] foreach文は下記アドレスが分かり易い。
» PHPスクリプト講座:foreach — そふぃのphp入門

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。