2017-04-16 10 views
3

私の友人は、どのようにしてPHPで日付を作成し、比較することができるか尋ねました。 PHPにDateTimeクラスがあることを知っていたので、私は彼女にそれを検索して理解させるように言いましたが、私は比較物についてはわかりませんでした。だから私はあなたがPHPで日付を比較する方法を探せた。私はDateTimeクラスがいくつかのinbuiltメソッドを使って日付を比較していると考えました。私は理解していない何'<'を使用してPHPの2つのオブジェクトを比較する

$today_dt = new DateTime($today); 
$expire_dt = new DateTime($expire); 

if ($expire_dt < $today_dt) { /* Do something */ } 

<などの比較演算子は、2つの「オブジェクト」を比較するために使用することができる方法である。しかし、私の驚きに、コードは次のようなものが見えました。私はあなたが比較演算子を使用してプリミティブなデータ型を比較す​​ることしかできないと思った。では、PHPは比較演算子を使用して2つの 'オブジェクト'をどのように比較しますか?

答えて

1

はい、通常、あなたは正しいだろう - >しかし、そのような日時などPHPの作り付けのクラスのために、これは異なっています。 https://wiki.php.net/internals/engine/objects#compare_objects

比較を実装するための "__compare"マジックメソッドの実装があったらいいですか?しかし、今のところ、あなたは2つのオプションがあります:上@WhatHaveYouTriedSoFarの答えを読んだ後

編集を: 1)あなたはPHPのオブジェクトを比較する方法で利用することができ、「比較動作は、第1の不均等な財産で停止し、リターン(http://us3.php.net/manual/en/language.oop5.object-comparison.php#98725

2)独自の「比較」メソッドを作成することができます。

関連する問題