2016-12-05 38 views
0
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

您需要在在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;