ホームページ > バックエンド開発 > PHPチュートリアル > 多次元 PHP 配列を日時要素で並べ替える方法

多次元 PHP 配列を日時要素で並べ替える方法

DDD
リリース: 2024-12-16 15:10:21
オリジナル
430 人が閲覧しました

How to Sort a Multidimensional PHP Array by a Datetime Element?

PHP での日付要素による多次元配列の並べ替え

以下のような構造を持つ配列を考えてみましょう。

$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」要素で並べ替えますか?

使用カスタム比較関数を使用した usort()

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');
ログイン後にコピー
これにより、'datetime' 要素に基づいて配列が昇順に並べ替えられます。

以上が多次元 PHP 配列を日時要素で並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート