📜  cookie 中的 php 数组 - PHP (1)

📅  最后修改于: 2023-12-03 15:14:15.085000             🧑  作者: Mango

介绍

在 PHP 中,我们可以将数组存储在 cookie 中,以便在用户浏览不同页面时可以访问和使用它们的值。这对于在 Web 应用程序之间共享数据很有用。

语法

setcookie(name, value, expire, path, domain, secure);

参数说明:

  • name:cookie 名称
  • value:cookie 值
  • expire:cookie 过期时间(以秒为单位)。默认为 0,表示 cookie 在浏览器关闭时过期。
  • path:可访问 cookie 的目录。默认为 /,表示整个网站可访问。
  • domain:可访问 cookie 的域名。默认为当前域名。
  • secure:指定是否通过安全的 HTTPS 连接来传输 cookie。默认为 false

示例

以下示例演示了如何将一个 PHP 数组存储在 cookie 中:

// 设置 cookie 过期时间为 1 小时
$expire = time() + 3600;

// 定义一个数组
$fruits = array("apple", "banana", "orange");

// 将数组序列化为字符串,并存储在 cookie 中
setcookie("fruits", serialize($fruits), $expire);

// 输出提示消息
echo "Cookie 已设置。";

接下来,我们将使用 unserialize() 函数来从 cookie 中检索该数组:

// 检查是否存在 fruits cookie
if(isset($_COOKIE["fruits"])) {
  // 反序列化数组并输出
  $fruits = unserialize($_COOKIE["fruits"]);
  print_r($fruits);
} else {
  echo "该数组不存在。";
}

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

注意事项

  • 在存储数组之前,必须将其序列化为字符串。
  • 在从 cookie 中检索数组时,必须使用 unserialize() 函数将其反序列化为数组。
  • 数组存储在 cookie 中时,可以在同一页面上读取和修改其值,但是在浏览器关闭后,数据将不再可用。