如何从设置为会话变量的数组中删除变量
问题描述:
我目前正在让我的购物车在我的在线商店中排序。我将购物车设置为一个数组,它是一个会话变量。我可以轻松将商品添加到购物车,但我无法移除它们。我尝试使用未设置的会话变量或获取会话变量来删除它们,将其更新为本地变量,然后将更新后的版本设置为会话变量,但它们都没有工作。如何从设置为会话变量的数组中删除变量
值$ _SESSION [“cart”]是一个包含购物车中物品的数组。 $ _GET [“帐户”]是他们想要从购物车中删除的商品的索引。这是我目前的代码:
if (isset($_GET["account"])) {
$accountnumber = $_GET["account"];
$cart = $_SESSION["cart"];
unset($cart[$accountnumber]);
$_SESSION["cart"] = $cart;
}
请让我知道它有什么问题。
感谢
答
可以unset
这样
unset($_SESSION["cart"][$_GET["account"]]);
注会话:不要忘了在页面
答
无需与参考会话的顶部开始的会话另一个变量。
unset($_SESSION["cart"][$accountnumber]);
这样就够了。
答
您的网站是否存在另一个会话?如果没有,你可以尝试session_destroy();
,否则,试试这个。
if (isset($_GET["account"])) {
$key=array_search($_GET['account'],$_SESSION['cart']);
if($key!==false){
unset($_SESSION['cart'][$key]);
}
}
是指由link
您需要从会议中删除这样的'未设置($ _SESSION [ “购物车”] [$ _ GET [ “帐户”]);' – JYoThI
当然'未设置($ _SESSION [ “购物车”] [$ ACCOUNTNUMBER]);' – RiggsFolly