社員ブログ
HOME  社員ブログ
ホーム > PHP, 社員:cobra, 雑記 > PHP 配列の中身を並び替えるarray_multisort関数

PHP 配列の中身を並び替えるarray_multisort関数

2011年06月13日 13時34分47秒

こんにちは、コブラです。


今日はPHPのお話。

多次元配列の中身を入れ替えたいなーと思ったら、

便利な関数がもうありました。

人の名前と年月日時分秒の配列を、時系列に並べます!


$hoge[0] = Array('name' => '太郎','ymdhms' => '2011-06-09 23:17:34' );
$hoge[1] = Array('name' => '次郎','ymdhms' => '2011-06-09 18:14:45' );
foreach ($hoge as $key => $row) {
  $ymdhms[$key] = $row['ymdhms'];
}
array_multisort($ymdhms, SORT_ASC, SORT_STRING, $hoge);
print_r($hoge);

 

出力結果

Array ( [0] => Array ( [name] => 次郎 [ymdhms] => 2011-06-09 18:14:45 ) [1] => Array ( [name] => 太郎 [ymdhms] => 2011-06-09 23:17:34 ) )


日付比較の場合、第3引数は「SORT_STRING」にしないとダメだと思います!(確証なし)

一度、並び替えの条件になる値をforeachで回すのがミソですね!

これは使えそうです!

PHP, 社員:cobra, 雑記

  1. コメントはまだありません
  1. トラックバックはまだありません