以下のような構造を持つ配列を考えてみましょう。
$array = [ [ 'id' => 2, 'type' => 'comment', 'text' => 'hey', 'datetime' => '2010-05-15 11:29:45', ], [ 'id' => 3, 'type' => 'status', 'text' => 'oi', 'datetime' => '2010-05-26 15:59:53', ], [ 'id' => 4, 'type' => 'status', 'text' => 'yeww', 'datetime' => '2010-05-26 16:04:24', ], ];
どうすればよいでしょうかこの配列を「datetime」要素で並べ替えますか?
PHP の usort() 関数は、配列と、要素の順序を決定する比較関数を受け取ります。次のように、date_compare というカスタム比較関数を作成できます。
function date_compare($a, $b) { $t1 = strtotime($a['datetime']); $t2 = strtotime($b['datetime']); return $t1 - $t2; }
この関数は、各レコードの「datetime」フィールドの UNIX タイムスタンプを抽出し、それらの差を返します。この情報は、配列を並べ替えるために usort() によって使用されます。
最後に、usort():
usort($array, 'date_compare');
以上が多次元 PHP 配列を日時要素で並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。