在Cookie中存储php数组的最佳方法
我有一个在购物车中存储产品的阵列:在Cookie中存储php数组的最佳方法,php,arrays,cookies,Php,Arrays,Cookies,我有一个在购物车中存储产品的阵列: $array = Array ( [1] => 1 [2] => 2 [3] => 3 ) 我想将其保存在cookies中,但我不确定是否正确: setcookie('bag',json_encode($array),time()+14*24*60*60,'/',null,null,true); 为了显示我使用foreach和decode的产品:json\u decode($\u COOKIE['bag'],tr
$array =
Array
(
[1] => 1
[2] => 2
[3] => 3
)
我想将其保存在cookies中,但我不确定是否正确:
setcookie('bag',json_encode($array),time()+14*24*60*60,'/',null,null,true);
为了显示我使用foreach和decode的产品:json\u decode($\u COOKIE['bag'],true)
在cookie值中,它是这样的:%7B%221%22%3A%221%22%2C%222%22%3A%222%22%2C%223%22%3A%223%22%7D
这样好吗?不要在cookie中存储太多数据。存储一个链接到该用户的唯一购物车id,并将所有项目存储在数据库中。首先,这不是个好主意。其次,序列化()/unserialize()比json_encode()/json_decode()更好。@brokershow为什么你认为json_encode比序列化更糟糕?我在其他线程中看到,json_encode是更好的选择。我不认为您试图将数据来回传递到前端和后端,而是采用后端到后端的方法,这是PHP特有的。“…这对于在不丢失PHP值的类型和结构的情况下存储或传递PHP值非常有用,这意味着它可以表示PHP类型,包括您自己的类的实例,您将获得您的对象…”如果需要在服务器端存储,请在前端使用localStorage或$\会话。