PHPでの日付の比較
両方の日付が類似した形式である場合、PHPで2つの日付を一致させることは非常にスムーズですが、2つの日付が無関係な形式である場合、phpは分析に失敗しました。この記事では、PHPでの日付比較のさまざまなケースについて説明します。日付の比較にDateTimeクラスstrtotime()を利用する方法を理解します。
ケース1:
指定された日付が同様の形式である場合は、単純な比較演算子で日付を分析できます。
<?php $date1 = "2018-11-24"; $date2 = "2019-03-26"; if ($date1 > $date2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
出力:
2019-03-26 is latest than 2018-11-24
説明:
ここでは、2つの日付$date1と$date2を同じ形式で宣言しています。そのため、比較演算子(>)を使用して日付を比較しました。
ケース2:
その時点で指定された日付がさまざまな形式である場合は、strtotime()関数を使用して、指定された日付をUNIXタイムスタンプ形式に変換し、これらの数値タイムスタンプを分析して期待される結果を得ることができます。
例:
<?php $date1 = "18-03-22"; $date2 = "2017-08-24"; $curtimestamp1 = strtotime($date1); $curtimestamp2 = strtotime($date2); if ($curtimestamp1 > $curtimestamp2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
出力:
18-03-22 is latest than 2017-08-24
説明:
この例では、異なる形式の2つの日付があります。そのため、事前定義された関数strtotime()を使用してそれらを数値のUNIXタイムスタンプに変換し、それらのタイムスタンプを比較するために、さまざまな比較演算子を使用して目的の結果を取得しました。
ケース3:
DateTimeクラスのオブジェクトを作成して2つの日付を比較します。
例:
<?php $date1 = new DateTime("18-02-24"); $date2 = new DateTime("2019-03-24"); if ($date1 > $date2) { echo 'datetime1 greater than datetime2'; } if ($date1 < $date2) { echo 'datetime1 lesser than datetime2'; } if ($date1 == $date2) { echo 'datetime2 is equal than datetime1'; } ?>
出力:
datetime1 lesser than datetime2
説明:
この例では、2つのDateTimeオブジェクトを作成しました。これらの2つの日付を比較するために、さまざまな比較演算子を使用して目的の結果を取得します。
-
PHPの浮動小数点値の比較。
PHPでは、ある浮動小数点数が別の浮動小数点数と等しいかどうかをチェックするときにPHPが失敗するため、浮動小数点値の同等性のテストには問題があります。浮動小数点数は同じ値であるように見えますが、実際に同じである必要はありません。したがって、この記事では、浮動小数点数とこの問題を回避するためのさまざまな手順を比較して、直面している問題を示します。 例 簡単な例でこれをテストしてみましょう: <?php $a = 0.14; $b = 1 - 0.86; //0.14 if($a == $b ){
-
PHPの&&演算子とAND演算子の比較。
PHPは、算術、割り当て、比較などの操作を実行するための優れた演算子を提供します...この記事では、論理演算子「&&」と「AND」をより重要視し、それらに基づいてそれらをどのように利用できるかを研究します。優先順位。論理演算子「&&」と「AND」は結果としてtrueまたはfalseを生成するため、これらはブール演算子とも呼ばれます。 深く掘り下げる前に、「AND」演算子とは何かを学びましょう。 「AND」演算子は、両方の条件が真である場合にのみ真を返します。 「AND」演算子を示す例を見てみましょう。 例 <?php $val1 = 20; &n