我正在尝试将一个关联数组设置为cakephp中的cookie变量。该数组是:
$recent_designers = array(
"0"=>
array(
"name" => "Hello",
),
"1"=>
array(
"name" => "Hi",
)
);
并将此数组设置为Cookie recent_designers
:
$this->Cookie->write('recent_designers', $recent_designers);
$cookies = $this->Cookie->read('recent_designers');
$this->set("recent_designers", $cookies);
但我收到了通知
Notice (8): Array to string conversion [CORE\cake\libs\controller\components\cookie.php, line 458]
文件上的ctp
!如果我的数组采用以下格式:
$recent_designers = array(
"0"=>"Hello","1"=>"Hi","2"=>"Namaste"
);
我没有得到任何错误。
答案 0 :(得分:0)
你可以使用cookie :: write在cakephp中存储一个普通数组,但不能在嵌套数组中存储。
http://book.cakephp.org/2.0/en/core-libraries/components/cookie.html#using-the-component。
传递3个元素的数组与保存3个cookie相同
这样做
$recent_designers = array(
"0"=>"Hello",
"1"=>"Hi",
"2"=>"Namaste"
);
$this->Cookie->write('recent_designers', $recent_designers);
与
相同$this->Cookie->write('recent_designers.0', 'Hello');
$this->Cookie->write('recent_designers.1', 'Hi');
$this->Cookie->write('recent_designers.2', 'Namaste');