递减时“删除”时出现语法错误

时间:2014-04-21 17:36:51

标签: php case

我在案例“删除”时遇到语法错误。我一直试图解决它,但我无法弄明白。 谁能告诉我如何解决它?谢谢

该代码适用于在线商店购物车

switch($action)
{
    case "add":
    if (isset($_SESSION['cart'][$id]))
        $_SESSION['cart'][$id]++;
    else
        $_SESSION['cart'][$id]=1;
break;

case "remove":
    if (isset($_SESSION['cart'][$id]))
    (
        $_SESSION['cart'][$id]--; (ERROR HERE)
        if ($_SESSION['cart'][$id]==0)
            unset($_SESSION['cart'][$id]);
    )
break;

case "empty":
    unset($_SESSION['cart']);
break;

}

3 个答案:

答案 0 :(得分:6)

您的IF语句使用括号而不是括号:

if (isset($_SESSION['cart'][$id]))
( <-- HERE
    $_SESSION['cart'][$id]--; (ERROR HERE)
    if ($_SESSION['cart'][$id]==0)
        unset($_SESSION['cart'][$id]);
) <-- HERE

答案 1 :(得分:1)

请将()替换为{}

更正后的代码:

case "remove":
    if (isset($_SESSION['cart'][$id]))
    {
        $_SESSION['cart'][$id]--; (ERROR HERE)
        if ($_SESSION['cart'][$id]==0)
            unset($_SESSION['cart'][$id]);
    }
break;

答案 2 :(得分:0)

//语法错误,找到更正的代码!!

  switch($action)
  {
case "add":
    if (isset($_SESSION['cart'][$id])) {
        $_SESSION['cart'][$id]++;
    }
    else {
          $_SESSION['cart'][$id]=1;
     }
    break;

case "remove":
    if (isset($_SESSION['cart'][$id])) {
            $_SESSION['cart'][$id]--; //(ERROR HERE)
        }
        if ($_SESSION['cart'][$id]==0) {
            unset($_SESSION['cart'][$id]);
        }
    break;

case "empty":
    unset($_SESSION['cart']);
    break;

  }