You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 14:05:21