私は2つのタイムスタンプを比較する条件付きの書き込みを持っており、制御変数と比較変数の時間差が比較の1時間プラスまたはマイナス以内であれば実行する必要があります。PHPは1時間以内にタイムスタンプを比較+/-
それは明らかに等しい&よりだけ小さい。この今のようになります。
if(($departure - $item['time']) <= 3600)):
が<=
<=>
に仕事を変えるのでしょうか?
私は2つのタイムスタンプを比較する条件付きの書き込みを持っており、制御変数と比較変数の時間差が比較の1時間プラスまたはマイナス以内であれば実行する必要があります。PHPは1時間以内にタイムスタンプを比較+/-
それは明らかに等しい&よりだけ小さい。この今のようになります。
if(($departure - $item['time']) <= 3600)):
が<=
<=>
に仕事を変えるのでしょうか?
この<=>
オペレータは、それがすることで組み合わせた比較を提供します:あなたの代わりに何をしたいのか
Return 0 if values on either side are equal
Return 1 if value on the left is greater
Return -1 if the value on the right is greater
は$departure - $item['time']
if(abs($departure - $item['time']) <= 3600)):
いいえ、ちょうど<=>
オペレータのabsolute値を比較することです1辺がそれぞれ小/等/大きい場合は-1/0/1を返し、PHP7でのみ動作します。
実際に3つ以上の時間、と言う、$item['time']
が2であるとき、文が例で真と評価される場合は、あなたのケースで$departure - $item['time']
は($item['time']
が$departure
よりも大きい場合)、負の値に入るので、あなたの可能性と思われます未来$departure
から。
この作品は気に入りませんか?
$diff = $departure - $item['time'];
if ($diff <= 3600 && $diff >= -3600)
{
// do what you have to do
}
&&
(AND)は、両方の小さな文が真であることが、完全な文のためには、trueに評価されなければならないことを意味する論理演算子です。
はい、動作するように見えます、ありがとうございます。解決のためにそれを見るために、時にはそれはちょうど別の目を必要とします! –
簡単な解決策! –