【问题标题】:how to remove a particular key => value from a session array?如何从会话数组中删除特定的键 => 值?
【发布时间】:2012-02-08 16:07:32
【问题描述】:

假设我有 $_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'] 数据:(

【问题讨论】:

    标签: php


    【解决方案1】:
    unset($_SESSION['cart'][$id2]);
    

    您无需为此遍历 foreach 中的整个数组。简单胜于复杂:)

    【讨论】:

    • 我试过了,它删除了特定的产品..但是剩下的最后一个产品,无法删除,这是为什么?
    • 你说“不能被删除”是什么意思?
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      如果你想清除 id 就这样做:

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

      希望有帮助

      【讨论】:

        【解决方案4】:

        只是做

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

        【讨论】:

          猜你喜欢
          • 2014-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-29
          • 1970-01-01
          • 2014-06-04
          • 2012-02-16
          • 2019-12-30
          相关资源
          最近更新 更多