如何从cookie数组中删除数组中的值?

时间:2017-02-11 09:19:04

标签: php cookies cakephp-3.0

我正在使用Cakephp 3.0。我是cookie概念的新手。我已经成功创建了一个cookie,但我想从cookie数组中删除一个值。 这是我的代码: -

enter code here
$cookiedata=
Array
(
[0] => 2
[1] => 1
)

$_GET['id'] = 2;

public function cartitems(){
    $cookiedata = $this->Cookie->read('ProductCartdata'); 
    $this->loadModel('Products');
    $query = $this->Products->find('all')->where(['id IN' =>$cookiedata]);
    $products = $query->hydrate(false)->toArray();
        if(isset($_GET['id'])){
            if(($key = array_search($_GET['id'], $cookiedata)) !== false) {
                    unset($cookiedata[$key]);
            } 
    $this->redirect(['controller'=>'test','action' => 'cartitems']);    
   }
        $this->set(compact('products','cookiedata'));
}

我想要那个结果: -

enter code here
Array
(
[0]=>1
)

1 个答案:

答案 0 :(得分:1)

您可以阅读文档中的Cookie组件。如果您想完全删除Cookie中的数据,则有一个删除方法:

Cookie::delete($key)

在你的情况下,循环后写入现有数据可能更有意义:

$this->Cookie->write('ProductCartdata', $cookiedata);
相关问题