首頁 >後端開發 >php教程 >如何解決php倒數出現-0的狀況

如何解決php倒數出現-0的狀況

墨辰丷
墨辰丷原創
2018-06-01 16:14:231623瀏覽

這篇文章主要介紹瞭如何解決php倒數出現-0的情況,實例分析了php倒數程序出現-0的原因及相應的解決方法,具有一定參考借鑒價值,需要的朋友可以參考下

具體如下:

問題:今天有回饋,說倒數出現了-0天的情況,我看了看程式,臥槽,當時怎麼沒測試到

原因是PHP的邏輯判斷中-0 > 0

分析:貼出錯的程式碼

##

$starttime   = 1362585600; //3.7凌晨
$nowtime   = 1362618921;//3.7早上
$off = ceil(($starttime - $nowtime)/86400); //倒计时
if ($off < 0) {
  $off = 0;
}
$b = $starttime - $nowtime;
$c = $b/86400;
$d = ceil($c);
var_dump(array(&#39;start-now&#39;=>$b), array(&#39;float_day&#39;=>$c), array(&#39;int_day&#39;=>$d), array(&#39;off&#39;=>$off));
if (-0 < 0) {
  echo &#39;-0 < 0&#39;;
} else {
  echo &#39;-0 > 0&#39;;
}

#輸出:

array
 &#39;start-now&#39; => int -33321
array
 &#39;float_day&#39; => float -0.385659722222
array
 &#39;int_day&#39; => float -0
array
 &#39;off&#39; => float -0
-0 > 0

過程:

#當開始時間和目前時間是同一天,上邊的計算過程由於-0 > 0 所以會出現off = -0 的情況

改進:

$starttime   = 1362585600; //3.7凌晨
$nowtime   = 1362618921;//3.7早上
if (($starttime - $nowtime) < 0) {
  $off = 0;
} else {
  $off = ceil(($starttime - $nowtime)/86400);
}

總結:以上就是這篇文章的全部內容,希望對大家的學習有所幫助。

相關推薦:

php中final關鍵字用法詳解

##php 中static與const關鍵字用法

php#this關鍵字用法分析詳解

#

以上是如何解決php倒數出現-0的狀況的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn