PHP报错:Call to undefined function each(),求each()函数替代方案
解决
each()函数未定义的错误:替换方案 each()函数在PHP 7.2及以上版本已被移除,这是你遇到Uncaught Error: Call to undefined function each()的原因。以下是两种可靠的替换方案:
方案1:用foreach替代原循环逻辑
你之前尝试foreach没效果大概率是写法有误,直接替换原while循环的代码如下:
foreach ($_SESSION['cart'][$i] as $key => $val) { if ($key == "product_name") { $product_name = $val; } elseif ($key == "units") { $units = $val; } elseif ($key == "packing_size") { $packing_size = $val; } elseif ($key == "grade") { $grade = $val; } elseif ($key == "length") { $length = $val; } elseif ($key == "quantity") { $quantity = $val; } } echo $product_name . " " . $units . " " . $packing_size . " " . $grade . " " . $length . " " . $quantity; echo "<br>";
方案2:直接关联数组取值(更高效简洁)
既然你明确知道要获取的键名,完全不需要循环遍历,直接从数组中取值性能更优,代码也更清晰:
$cartItem = $_SESSION['cart'][$i]; // 用?? ''避免键不存在时出现Undefined index错误,增强代码健壮性 $product_name = $cartItem['product_name'] ?? ''; $units = $cartItem['units'] ?? ''; $packing_size = $cartItem['packing_size'] ?? ''; $grade = $cartItem['grade'] ?? ''; $length = $cartItem['length'] ?? ''; $quantity = $cartItem['quantity'] ?? ''; echo "$product_name $units $packing_size $grade $length $quantity<br>";
内容的提问来源于stack exchange,提问作者RC.
相关产品推荐
相关产品推荐

