警告:遇到非数值
2022-08-30 06:38:16
最近更新到 PHP 7.1 并开始收到以下错误
警告:在第 29 行中遇到的非数值
这是第29行的样子
$sub_total += ($item['quantity'] * $product['price']);
在本地主机上,一切都很好。
任何想法如何解决这个问题或它是什么?
最近更新到 PHP 7.1 并开始收到以下错误
警告:在第 29 行中遇到的非数值
这是第29行的样子
$sub_total += ($item['quantity'] * $product['price']);
在本地主机上,一切都很好。
任何想法如何解决这个问题或它是什么?
不完全是您遇到的问题,但对于搜索的人来说,同样的错误。
当我在JavaScript上花费太多时间时,这种情况就发生在我身上。
回到PHP,我将两个字符串连接起来,而不是,并得到了这个错误。+
.
似乎在 PHP 7.1 中,如果遇到非数值,则会发出警告。请参阅此链接。
以下是与您收到的警告通知相关的相关部分:
当使用期望数字或其赋值等效项的运算符强制执行无效字符串时,引入了新的E_WARNING和E_NOTICE错误。当字符串以数值开头但包含尾随的非数字字符时,将发出E_NOTICE;当字符串不包含数值时,将发出E_WARNING。
我猜要么是$item['数量'],要么$product['price']不包含数值,所以在尝试将它们相乘之前,请确保它们包含数值。也许在计算$sub_total之前使用某种条件,如下所示:
<?php
if (is_numeric($item['quantity']) && is_numeric($product['price'])) {
$sub_total += ($item['quantity'] * $product['price']);
} else {
// do some error handling...
}