php为会话增加价值

php为会话增加价值,php,arrays,Php,Arrays,我正在尝试实现一个“购物车”,其中,如果单击了“添加到购物车”,则相应的项目要么添加到购物车,要么增加一个(如果已经存在)。但是,下面的代码不起作用,给了我一个“不能将标量值用作数组”错误。任何帮助都将不胜感激 if (isset($_POST['fan']) && ($_POST['fan']=="Add to Cart")) { if (($_SESSION['cart']['fan']==0) || (!isset($_SESSION['cart']['fan'])

我正在尝试实现一个“购物车”,其中,如果单击了“添加到购物车”,则相应的项目要么添加到购物车,要么增加一个(如果已经存在)。但是,下面的代码不起作用,给了我一个“不能将标量值用作数组”错误。任何帮助都将不胜感激

if (isset($_POST['fan']) && ($_POST['fan']=="Add to Cart")) {
    if (($_SESSION['cart']['fan']==0) || (!isset($_SESSION['cart']['fan']))) {
      $_SESSION['cart']['fan']=1;
    } else {
      $_SESSION['cart']['fan']++;
    }
}

我想您可能忘了添加以下内容:

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

如果未设置,则需要将
$\u会话['cart']
声明为
array()

$_SESSION['cart']=array();

您发布的代码不会产生标量错误。即使使用未定义的
购物车
元素,它也只会生成一个
未定义索引
通知。您必须有其他导致错误的代码。找出它是哪一行,然后贴出来。