使用最新版本的 PHP 7,我顯示以下錯誤消息:警告:遇到非數(shù)字值似乎在 PHP 7.1 中,如果遇到非數(shù)字值,則會發(fā)出警告。它說為了避免這些錯誤,我必須初始化為 0。當(dāng)使用 forech 時,他們可以向我解釋如何做到這一點(diǎn)。$meQty = 0;foreach ($qty as $id_courses => $valueqty) { $meQty = $meQty + $valueqty;}錯誤行: $meQty = $meQty + $valueqty;購物車.php<?php $items = (isset($_SESSION['cart']) && is_array($_SESSION['cart'])) ? $_SESSION['cart'] : array(); $itemCount = count($items); $qty = (isset($_SESSION['qty']) && is_array($_SESSION['qty'])) ? $_SESSION['qty'] : array(); $couponDiscount = (isset($_SESSION['couponCode'])); $total = 0; $num = 1; $meQty = 0; $itemId = ""; $meCount = $itemCount; foreach ($qty as $id_courses => $valueqty) { $meQty = $meQty + $valueqty; } foreach ($items as $id_courses => $item) { $itemId = $itemId . $item . ","; } $array = explode(',', $itemId); $strMarcas = str_repeat('?,', count($array) - 1) . '?'; $strTipos = str_repeat('i', count($array)); $stmt = $con->prepare("SELECT id_courses, courses, image, price FROM courses WHERE id_courses in ($strMarcas)"); $stmt->bind_param($strTipos, ...$array); $stmt->execute(); $stmt->store_result(); $stmt->bind_result($id_courses, $courses, $image, $price);產(chǎn)品添加到購物車沒有問題使用var_dump($_SESSION['qty']);顯示我array(1) { [0]=> int(1) }
2 回答

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊
您應(yīng)該為 foreach 之外的變量分配適當(dāng)?shù)闹?/p>
$meQty = 0;
foreach ($qty as $id_courses => $valueqty) {
$meQty = $meQty + $valueqty;
}
您還可以檢查有效的數(shù)字內(nèi)容
foreach ($qty as $id_courses => $valueqty) {
$meQty = ( is_numeric($valueqty) ? ($meQty + $valueqty ) : ($meQty +0);
}

鳳凰求蠱
TA貢獻(xiàn)1825條經(jīng)驗 獲得超4個贊
作為更(IMO)合適的解決方案,如果這是您在該循環(huán)中的唯一操作,則可以使用 array_sum()
array_sum — 計算數(shù)組中值的總和
例子:
$meQty = array_sum($yourArray);
- 2 回答
- 0 關(guān)注
- 220 瀏覽
添加回答
舉報
0/150
提交
取消