如何解决php倒计时出现-0的情况
程序员文章站
2022-04-11 14:43:42
...
这篇文章主要介绍了如何解决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倒计时出现-0的情况的详细内容,更多请关注其它相关文章!
推荐阅读
-
如何解决在接收邮件时出现错误号为0x800C0133的问题
-
如何解决浏览器出现“stack overflow at line:0”(注册表被串改)的问题
-
WinXP电脑显示器出现一闪一闪的情况如何解决?
-
php 如何解决闭合标签在前的情况,例如下
-
php用appScan扫描后出现的全局验证安全有关问题应该如何解决
-
PHP查询MYSQL中某字段值内某段文字出现的个数,该如何解决
-
PHP查询MYSQL中某字段值内某段文字出现的个数,该如何解决
-
如何解决linux环境下php读取csv文件,出现中文读取不到的情况
-
php 如何解决闭合标签在前的情况,例如下
-
php用appScan扫描后出现的全局验证安全有关问题应该如何解决