首页 > 解决方案 > 在 if 条件下遇到格式不正确的数值

问题描述

这个 if 条件抛出“遇到格式不正确的数值”消息。

if(strtotime($from) + $conHour*60*60 == strtotime($to)){

}

我看到的错误是:

遇到格式不正确的数值

****var_dump**

$from = string(19) "2019-04-15 16:05:00"    
$to =string(19)"2019-04-15 17:05:00"    
$conhour = string(5) "01:00"

标签: phpdatetimetime

解决方案


当您尝试对数值和非数值类型(字符串、布尔值、对象等)执行数学运算时,会引发此通知。

您的代码中可能发生这种情况的原因可能是有效的日期字符串$from$to无效的日期字符串:请参阅https://www.php.net/manual/en/datetime.formats.date.phphttps://www。 php.net/manual/en/datetime.formats.time.php以获得正确的格式。

另一个可能的原因是您$conHour没有有效的数值。

编辑:根据您的更新,它是后者: $conhour = string(5) "01:00" 您正在尝试将字符串相乘。首先(取决于您如何获得该变量)将其转换为数值(1),然后您将能够将其相乘


推荐阅读