【发布时间】:2014-03-01 20:31:37
【问题描述】:
我正在尝试将关联数组设置为 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"
);
我没有收到任何错误。
【问题讨论】:
-
Cookies 只能存储字符串值。如果要存储其他类型的值(例如数组),则必须在写入时使用
serialize,在读取时使用unserialize。你也可以改用json_encode/json_decode
标签: php arrays cakephp cookies