PHP会话多维数组未被赋值任何值

时间:2016-03-30 23:17:00

标签: php arrays multidimensional-array session-variables

按下按钮后,3个值将放入PHP中的多维数组中。我在分配相同的括号之前检查了值,它似乎有正确的值。但是,当我添加如下值时:

if (isset($_POST['add_to_cart'])) {
    $count = count($_SESSION['shopping_cart']);
    echo "Count: $count<br />";

    $_SESSION['shopping_cart'][$count]['product_id'] = $_POST['product_id'];
    $_SESSION['shopping_cart'][$count]['tier'] = $_POST['tier'];
    $_SESSION['shopping_cart'][$count]['division'] = $_POST['division'];
}

输出显示数组$_SESSION['shopping_cart']为空且没有值。

if (empty($_SESSION['shopping_cart'])) {
    echo "Your cart is empty.<br />";
}
else {
    //Display products in cart
    foreach($_SESSION['shopping_cart'] as $id => $product) {
        echo $product['tier'] . $product['division'] . "<br />";
    }
}

我得出结论,我以错误的方式分配值。我究竟做错了什么?谢谢你的帮助!

编辑: 忘了添加数组已经在开始时初始化了!

if(!isset($_SESSION['shopping_cart'])) {
    $_SESSION['shopping_cart'] = array();
}

1 个答案:

答案 0 :(得分:3)

我忘了将session_start();添加到代码中。这就是Session数组无法运行的原因!感谢@Will的帮助