ホームページ  >  記事  >  バックエンド開発  >  PHPで日付配列をソートするにはどうすればよいですか? (コード例)

PHPで日付配列をソートするにはどうすればよいですか? (コード例)

藏色散人
藏色散人オリジナル
2019-03-19 10:35:173638ブラウズ

今回は、PHPを使って日付配列(Ymd形式の複数の日付で構成された配列)を降順に並べる方法を紹介します。

PHPで日付配列をソートするにはどうすればよいですか? (コード例)

C/c/Java またはその他の汎用プログラミング言語でこの問題を解決するには、年、月、最後の日数に基づいて日付を比較するか、または日付を変換する 任意の構造、またはその他の任意のデータ構造に保存します。

しかし、PHP では strtotime() 関数を適用すると、この問題は非常に簡単になるようです。 strtotime() 関数は、任意の形式で指定された日付をタイムスタンプ (本質的には大きな整数) に変更する PHP 関数です。その後、配列をソートしながら、簡単に PHP | usort() 関数を使用してコンパレータ関数を定義できます。コンパレータ関数は 2 つの日付パラメータを受け取り、strtotime() 関数を使用して整数タイムスタンプに変換され、整数タイムスタンプ値に基づいて並べ替えられた日付と比較されます。

使用される組み込み関数:

strtotime(): この関数は、指定された日付文字列をタイムスタンプ (大きな int 値) に変更します。

usort(): この関数は、ユーザー定義の比較関数に基づいて、指定された配列を並べ替えます。

PHP コードの実装例は次のとおりです:

<?php
function compareByTimeStamp($time1, $time2)
{
    if (strtotime($time1) < strtotime($time2))
        return 1;
    else if (strtotime($time1) > strtotime($time2))
        return -1;
    else
        return 0;
}

$arr = array("2019-03-12", "2012-09-06", "2018-09-09");

usort($arr, "compareByTimeStamp");

print_r($arr);

出力:

Array ( 
[0] => 2019-03-12 
[1] => 2018-09-09 
[2] => 2012-09-06 
)

関連する推奨事項: 「PHP チュートリアル

この記事は、PHP で日付配列をソートする方法の紹介です。シンプルで理解しやすいので、困っている友人の役に立てば幸いです。

以上がPHPで日付配列をソートするにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。