PHPの日付配列をソートする方法

藏色散人
リリース: 2023-04-04 22:28:01
オリジナル
7452 人が閲覧しました



(Y-m-d) 形式の複数の日付で構成される配列があります。 PHP を使用して、配列内のすべての日付を降順に並べ替えるプログラムを作成するにはどうすればよいでしょうか?

PHPの日付配列をソートする方法

したがって、C/c/Java またはその他の一般的なプログラミング言語でこの問題を解決する場合、年、月に基づいて日付を比較し、最後に日に基づいて日付を比較する必要があります。 、メソッドは、日付を任意の構造または必要なその他のデータ構造に保存します。

しかし、PHP では strtotime() 関数を使用できるため、この問題は簡単に解決できます。

strtotime() 関数は、任意の形式の指定された日付を、本質的に大きな整数であるタイムスタンプに変更する PHP 関数であり、配列を並べ替える際に渡すことができます。 PHP を使用して比較関数を簡単に定義する | usort( ) 関数。

コンパレーター関数は 2 つの日付パラメーターを受け入れます。これらは strtotime() 関数を使用して整数タイムスタンプに変換され、整数タイムスタンプ値に基づいて日付ソートと比較されます。

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

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

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

以下は、上記のアイデアの PHP コード実装です:

<?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("2018-09-12", "2019-09-06", "2019-09-09"); 
  
// 使用给定的用户定义函数对数组排序
usort($arr, "compareByTimeStamp"); 
  
print_r($arr); 
  
?>
ログイン後にコピー

出力:

Array 
( 
    [0] => 2019-09-09 
    [1] => 2019-09-06 
    [2] => 2018-09-12
)
ログイン後にコピー

この記事は、PHP の日付配列をソートする方法について説明しています。シンプルで分かりやすいので、困っている人たちの役に立てば幸いです。



以上がPHPの日付配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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