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

Slim框架迭代购物车items数组报Illegal string offset错误咨询

问题原因及解决方案

核心错误原因

你报错的foreach循环中出现了变量覆盖问题,错误出在这行代码:

$item = $item['itemName'];

你把原本存储商品数组的循环变量$item直接重新赋值为了itemName字段的字符串值,后续代码再尝试用$item["itemPrice"]、$item["qty"]访问数组字段时,实际操作的已经是字符串类型的$item,自然就会抛出Illegal string offset错误。

其他测试代码正常的原因

你单独读取单个数组元素、返回整个items数组、以及第二个测试循环里都没有覆盖$item变量,所以都可以正常运行,该问题和Slim框架本身没有关系,属于PHP语法层面的变量名复用错误。

修复方案

把覆盖$item变量的行修改为其他变量名即可,参考代码如下:

foreach($order['cart']['items'] as $item)
{
    $itemId = $item['itemId'];
    $itemName = $item['itemName']; // 变量名改为$itemName,避免覆盖循环变量$item
    $itemPrice = $item["itemPrice"];
    $itemQty = $item["qty"];
    // 后续业务逻辑
}

内容的提问来源于stack exchange,提问作者Abu Nooh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:54:07