在 PHP 中设置 cookie 可以直接使用 setcookie() 函数。如果需要设置 cookie 数组,可以使用以下语法:
```php
setcookie('cookie_name[key]', 'value', time()+3600, '/');
```
其中 'cookie_name' 代表 cookie 的名称,'key' 表示数组键值,'value' 表示数组值,time()+3600 表示 cookie 过期时间为当前时间加上 3600 秒,'/' 表示 cookie 的作用域是整个网站。
下面我们将具体介绍如何设置 cookie 数组。
## 1. 首先设置一个简单的 cookie
我们可以先设置一个简单的 cookie 来测试是否能够正确地设置 cookie。例如,我们设置一个名为 'cookie_test' 的 cookie,值为 'hello world',过期时间为 1 小时。
```php
setcookie('cookie_test', 'hello world', time()+3600, '/');
```
## 2. 然后设置一个 cookie 数组
在设置一个 cookie 数组时,我们需要在 cookie 的名称后面加上方括号和键名。例如,我们可以设置一个名为 'cookie_array' 的 cookie 数组,它有两个元素 'name' 和 'age',分别表示名字和年龄。我们设置过期时间为 1 小时,作用域为整个网站。
```php
setcookie('cookie_array[name]', 'Tom', time()+3600, '/');
setcookie('cookie_array[age]', '18', time()+3600, '/');
```
在上面的代码中,我们先设置了 'cookie_array' 数组的 'name' 元素,值为 'Tom';再设置了 'cookie_array' 数组的 'age' 元素,值为 '18'。
## 3. 读取 cookie 数组
在读取 cookie 数组时,我们可以按照以下方式进行:
```php
echo $_COOKIE['cookie_array']['name']; // 输出:Tom
echo $_COOKIE['cookie_array']['age']; // 输出:18
```
在上面的代码中,我们使用 $_COOKIE 超全局变量来读取 cookie 数组的值。
## 4. 更新 cookie 数组
如果我们需要更新一个 cookie 数组的元素,可以直接重新设置指定的元素。例如,我们将上面的 'cookie_array' 数组的 'name' 元素改为 'Jerry'。
```php
setcookie('cookie_array[name]', 'Jerry', time()+3600, '/');
```
## 5. 删除 cookie 数组
如果我们需要删除一个 cookie 数组,可以将对应的元素的过期时间设置为当前时间之前。例如,我们将上面的 'cookie_array' 数组删除。
```php
setcookie('cookie_array[name]', '', time()-3600, '/');
setcookie('cookie_array[age]', '', time()-3600, '/');
```
## 总结
在 PHP 中设置 cookie 数组的步骤和设置普通 cookie 类似,只需要在 cookie 的名称后面加上方括号和键名即可。如果需要读取或更新 cookie 数组,可以直接使用 $_COOKIE 超全局变量。如果需要删除 cookie 数组,可以将对应的元素的过期时间设置为当前时间之前。
以上就是对 PHP 设置 cookie 数组的详细介绍,希望对你有所帮助。