如何从数组会话中取消设置一个值

时间:2016-12-05 05:24:48

标签: php arrays session unset

case "remove":
    if(!empty($_SESSION["cart"])) {
        foreach($_SESSION["cart"] as $k => $v) {
            if($_GET["code"] == $k){
                //print_r($_SESSION["cart"][$k]);

                unset($_SESSION["cart"][$k]);   
                header("Location:../cart.php");         
            } else {

            }
        }
    }
    break;

当我在购物车中只有一个项目时,功能运行良好,但是当我有很多项目时,该项目无法删除,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要先完成所有项目,并且只在foreach结束时继续使用该位置:...

case "remove": 
    if(!empty($_SESSION["cart"])) { 
        foreach($_SESSION["cart"] as $k => $v) {
            if($_GET["code"] == $k) unset($_SESSION["cart"][$k]);   
        }
        header("Location:../cart.php");         
    }
    break;