首页 > 语言 > PHP > 正文

php倒计时出现-0情况的解决方法

2024-05-04 23:48:55
字体:
来源:转载
供稿:网友

本文实例讲述了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 -33321array 'float_day' => float -0.385659722222array 'int_day' => float -0array '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程序设计有所帮助。

 


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选