如何删除特定键=>会话数组的值?

时间:2012-01-12 10:55:21

标签: php

假设我有$ _SESSION ['cart'];当我打印这个

echo "<pre>",print_r($_SESSION['cart']),"</pre>"; 

它会显示类似

的内容
Array
(
    [1] => 2
    [2] => 2
)

其中键是产品ID,值是每个产品的数量。 所以,如果我想删除产品号。来自该会话数组的2, 该怎么做?

我尝试了我脑海中最快的功能

 public function removeItem($id2){
   foreach($_SESSION['cart'] as $id => $qty) {
        if ($id == $id2){
         unset($_SESSION['cart'][$id]);

      }
   }
 }

它删除了整个$ _SESSION ['cart']数据:(

4 个答案:

答案 0 :(得分:4)

unset($_SESSION['cart'][$id2]);

你不需要在foreach中遍历整个数组。简单比复杂更好:)

答案 1 :(得分:2)

为什么要循环?如果你得到你想要的id作为参数删除,你可以这样做:

public function removeItem($id2) {
  unset($_SESSION['cart'][$id2]);
}

答案 2 :(得分:1)

如果您想清除ID,请执行以下操作:

$_SESSION['cart'][$id] = null;

希望这个帮助

答案 3 :(得分:0)

只是做

public function removeItem($id){
    unset($_SESSION['cart'][$id]);
}