在 Cookie 中存储 PHP 数组
PHP 提供了多种在 Cookie 中存储数组的方法。以下是最常用技术的全面概述:
JSON 字符串化:
JSON(JavaScript 对象表示法)是一种轻量级数据交换格式,提供了一种便捷的方式将数组存储在 cookie 中。
存储代码:
<code class="php">setcookie('your_cookie_name', json_encode($info), time() + 3600);</code>
读取代码:
<code class="php">$data = json_decode($_COOKIE['your_cookie_name'], true);</code>
警告:不要使用serialize/unserialize
PHP 提供了serialize() 和unserialize() 函数用于将数组与字符串相互转换。然而,这些函数非常不安全,不应该用于在 cookie 中存储不受信任的数据,因为它们可以被利用来执行任意代码。
替代解决方案:数组拆分
作为 JSON 字符串化的替代方案,您可以将数组元素单独存储为 cookie,每个元素都有自己的密钥。
存储代码:
<code class="php">setcookie('my_array[0]', 'value1', time() + 3600); setcookie('my_array[1]', 'value2', time() + 3600); setcookie('my_array[2]', 'value3', time() + 3600);</code>
阅读代码:
<code class="php">$data = $_COOKIE['my_array'];</code>
如果您需要直接作为 cookie 访问单个数组元素,这种方法特别有用。它也是安全的,因为它不涉及任何字符串转换。
以上是如何在 Cookie 中存储 PHP 数组:JSON、序列化或数组拆分?的详细内容。更多信息请关注PHP中文网其他相关文章!