猿问

警告:遇到非数字值

警告:遇到非数字值

最近更新为PHP7.1并开始获得以下错误

警告:第29行中遇到的非数字值。

下面是第29行的样子

$sub_total += ($item['quantity'] * $product['price']);

在本地主机上一切正常。

有什么办法解决这个问题吗?


函数式编程
浏览 823回答 3
3回答

智慧大石

在PHP7.1中,如果遇到非数字值,就会发出警告。看这个链接.以下是与您收到的警告通知相关的部分:当使用期望数字或其赋值等价的运算符胁迫无效字符串时,将引入新的E_WARNING和E_NOTION错误。当字符串以数字值开头,但包含尾随的非数字字符时,将发出E_NOTION,以及当字符串不包含数字值时,将发出E_警告。我猜$项目[数量]或$产品[价格]不包含数字值,因此在试图对其进行乘法之前,请确保它们是这样做的。在计算$小计之前,可以使用某种条件,如下所示:<?phpif&nbsp;(is_numeric($item['quantity'])&nbsp;&&&nbsp;is_numeric($product['price']))&nbsp;{ &nbsp;&nbsp;$sub_total&nbsp;+=&nbsp;($item['quantity']&nbsp;*&nbsp;$product['price']);}&nbsp;else&nbsp;{ &nbsp;&nbsp;//&nbsp;do&nbsp;some&nbsp;error&nbsp;handling...}

慕雪6442864

不完全是你遇到的问题,而是人们搜索的相同错误。当我花太多时间在JavaScript上时,我就遇到了这种情况。回到PHP,我用“+“而不是”.“并得到了那个错误。
随时随地看视频慕课网APP
我要回答