這篇文章主要介紹瞭如何解決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('start-now'=>$b), array('float_day'=>$c), array('int_day'=>$d), array('off'=>$off)); if (-0 < 0) { echo '-0 < 0'; } else { echo '-0 > 0'; }
#輸出:
array 'start-now' => int -33321 array 'float_day' => float -0.385659722222 array 'int_day' => float -0 array 'off' => 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 中static與const關鍵字用法
#
以上是如何解決php倒數出現-0的狀況的詳細內容。更多資訊請關注PHP中文網其他相關文章!