問題
PHPで配列内の値の順番を日時順に並び替えるには?
解決策
「array_multisort( array_map( "strtotime", $配列 ), SORT_ASC, $配列 )」を行うことで配列内の値の順番を日時順に並び替えることができる。
日時順に並び替え
PHPで配列内の値の順番を日時順に並び替える方法をご紹介します。
配列の内訳は、以下を想定しています。
20200602
20200603
20200601
配列内の値の順番を日時順に並び替える記述例
配列内の値の順番を日時順に並び替える記述例は以下になります。
例として2番目(キー:1)の値を削除します。
$list =array(
"20200602",
"20200603",
"20200601"
);
array_multisort( array_map( "strtotime", $list ), SORT_ASC, $list ) ;
実行結果
20200601
20200602
20200603
ポイント!
「array_multisort( array_map( “strtotime”, $配列 ), SORT_ASC, $配列 )」を行うことで配列内の値の順番を日時順に並び替えることができます。
参考ページ
以下のサイトが、より詳しく解説してくれています。
【PHPで配列を時間順に並び替える方法】
https://lab.syncer.jp/Web/PHP/Snippet/15/
【PHP: array_multisort – Manual 】
https://www.php.net/manual/ja/function.array-multisort.php
【PHP: array_map – Manual 】
https://www.php.net/manual/ja/function.array-map.php
コメント