我想取消设置我的shoppingkart数组
if(isset($_GET['delete'])){
$delete=$_GET['delete'];
if($_GET['delete']=="all"){
unset($_SESSION['shoppingkart']);
}
else{
$key=array_search($delete, $_SESSION['shoppingkart']);
unset($_SESSION['shoppingkart'][$key]);
}
}
第二部分只删除数组的一个值。它有效。 但第一部分,删除整个数组不会。它只删除第一个值。
答案 0 :(得分:0)
我可以看到为什么它可能会这样做的几个原因......要么你认为它已经运行了代码的第一个(未设置全部)部分,实际上它正在运行第二部分。或者,假设您使用print_r($_SESSION)
查看仍然设置的内容,请确保在运行代码后使用它...
你可以尝试一下,看看代码的实际运行部分,以及代码相关部分的echo 'First statement ran'
和echo 'Second statement ran'
......
我这样说,因为unset($_SESSION['shoppingkart']);
看起来正确