Я использую Cakephp 3.0. Я новичок в концепции cookie. Я успешно создал файл 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
)
почему мы снова пишем cookie после удаления значения из массива – kunal
Ну, вы хотите обновить Cookie, не так ли? Долгий ответ. Когда вы читаете файл cookie, вы получаете копию данных, но он остается неизменным в файле cookie. Если вы обновите данные, например. отключив ключ, вы также должны обновить данные cookie. В противном случае в следующий раз, когда вы прочитаете из файла cookie, вы получите старые данные. – dbrumann
поэтому, согласно вам, мы снова пишем cookie – kunal