首页 > 解决方案 > PHP cookie 数组适用于整数,但不适用于字符串

问题描述

此代码正确地创建了一个 cookie,然后返回一个数组。

$exampleString1 = 123;
$exampleString2 = 456;

$exampleStringArray =  array();
$exampleStringArray[] = $exampleString1;
$exampleStringArray[] = $exampleString2;

$exampleStringArrayEncoded = json_encode($exampleStringArray);
setcookie('exampleCookie', $exampleStringArrayEncoded, time() + (86400 * 30), "/");


if(isset($_COOKIE['exampleCookie'])) {
    $exampleCookie = $_COOKIE['exampleCookie'];
    $exampleCookieDecoded = json_decode($exampleCookie);
    var_dump($exampleCookieDecoded);
}

但是,当数组包含字符串时,通过将第一行更改为:

$exampleString1 = 'abc';
$exampleString2 = 'def';

转储的值只是 NULL

谁能解释为什么我无法将字符串存储在 cookie 中?

标签: phpcookies

解决方案


一旦设置了 cookie,就可以在下一页加载时使用 $_COOKIE 数组访问它们。

https://www.php.net/manual/en/function.setcookie.php


推荐阅读