我正在尝试删除cart.php中的项目。它第一次有效。但是当我尝试删除下一个项目代码时,删除下一个项目而不是我要删除的项目。这是我的代码:
<?php
//if user wants to remove any item from cart
if(isset($_REQUEST['index_to_remove']) && $_REQUEST['index_to_remove'] = !"")
{
$key_to_remove = $_REQUEST['index_to_remove'];
if(count($_SESSION["cart_array"]) <= 1){
unset($_SESSION['cart_array']);
}else{
unset($_SESSION["cart_array"]["$key_to_remove"]);
rsort($_SESSION["cart_array"]);
print_r($_SESSION["cart_array"]);
}
}
&GT;
答案 0 :(得分:0)
你永远不应该unset($_SESSION)
。清除$_SESSION
变量的最简单方法是$_SESSION = Array();
,
但你也可以用unset迭代:
foreach(array_keys($_SESSION) as $k) unset($_SESSION[$k]);
答案 1 :(得分:0)
<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
输出
0 = orange
1 = lemon
2 = banana
3 = apple
rsort将从0动态分配密钥,这会更改密钥。
答案 2 :(得分:0)
您似乎在代码的开头缺少session_start()
。
答案 3 :(得分:0)
thanxs伙伴们为你提供帮助我遇到了问题。问题出现在if语句中我的if语句是
if(isset($_REQUEST['index_to_remove']) && $_REQUEST['index_to_remove'] = !"")
在这个声明中,如果你放了!之前=它会正常工作。所以这个if语句看起来像这样。
if(isset($_REQUEST['index_to_remove']) && $_REQUEST['index_to_remove'] != "")