Php 为带有会话变量的foreach()提供的参数无效

Php 为带有会话变量的foreach()提供的参数无效,php,session,foreach,Php,Session,Foreach,我正在为一个web配置程序做一个购物车,我遇到了一个问题。 我明白了: if (!empty($_SESSION["pedido"]) && is_array($_SESSION["pedido"])) { echo "Ha seleccionado:"; foreach($_SESSION['pedido'] as $prod => $unidades) { echo "$unidades unidades de $

我正在为一个web配置程序做一个购物车,我遇到了一个问题。 我明白了:

if (!empty($_SESSION["pedido"]) && is_array($_SESSION["pedido"])) {
        echo "Ha seleccionado:";
        foreach($_SESSION['pedido'] as $prod => $unidades) {
            echo "$unidades unidades de $prod";
当我在
MAMP
上执行它时,它运行良好,但在我的服务器上,它显示错误: 警告:为[lineOfCode]中的
foreach()
提供的参数无效。 我曾尝试搜索一个解决方案,例如,将
$\u会话['pedido']
强制转换为数组,它一直工作,直到我得到
$prod
键,该键不正确(它返回的是
0
而不是产品键),我需要该
键来执行切换操作。

谢谢。

foreach
之前,您是否在服务器上
var\u转储($\u会话['pedido')
以确认您得到了预期的结果?你能给我们看一下结果吗?你有没有试过使用print_r($_SESSION[“pedido”])输出数组的内容以进行调试。您可能忽略了某些内容,导致$\u会话[“pedido”]不包含您期望的内容。可能会话未启动<代码>错误报告(E_全部);ini_集('display_errors','1')看不出这怎么会在那个特定点抛出那个错误。foreach只有在
if()
测试成功时才会执行,该测试的一部分要求会话变量为数组;打印($_会话['pedido']);回声';我也尝试过var_垃圾场。但它没有显示任何东西。我做错了什么?在
foreach
之前,您是否在服务器上
var\u转储($\u SESSION['pedido'])
以确认您得到了预期的结果?你能给我们看一下结果吗?你有没有试过使用print_r($_SESSION[“pedido”])输出数组的内容以进行调试。您可能忽略了某些内容,导致$\u会话[“pedido”]不包含您期望的内容。可能会话未启动<代码>错误报告(E_全部);ini_集('display_errors','1')看不出这怎么会在那个特定点抛出那个错误。foreach只有在
if()
测试成功时才会执行,该测试的一部分要求会话变量为数组;打印($_会话['pedido']);回声';我也尝试过var_垃圾场。但它没有显示任何东西。我做错了什么?