我的Cookie部分有问题。我想保存并获取我的cookie,但如果没有设置cookie,我会得到并且“找不到索引'”。所以我尝试了围绕cookie的isset(),但我不能只获得一个bool值。
代码:
['gender' => isset($_COOKIE['age']),]
结果:
["gender"]=> bool(false)
我需要什么:
["gender"] => string(1) '1'
var_dump $ _COOKIE
["gender"]=> string(1) "1"
为什么给isset()一个bool作为结果而不是结果的实际值。
问题是,如果设置了cookie,我会得到一个值但是如果设置了cookie并且我已经将函数isset()放在cookie周围,那么它将显示一个bool而不是真正的价值。
答案 0 :(得分:4)
为什么给isset()一个bool作为结果而不是结果的实际值。
因为isset()返回了一个bool。如果isset()
被评为真,则需要返回您的cookie值:
['age' => (isset($_COOKIE['age']) ? $_COOKIE['age'] : false),]
如果设置了cookie,上面的行将返回值,否则返回false
。
答案 1 :(得分:0)
isset
总是给你一个布尔返回值。请按照以下方式回复您请求的cookie的结果:
if(isset($_COOKIE['age']){
{
$_COOKIE['age'];
}