函数给出bool而不是值,isset()

时间:2017-07-19 09:36:14

标签: php cookies

我的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保存: Cookies Chrome overview

问题是,如果设置了cookie,我会得到一个值但是如果设置了cookie并且我已经将函数isset()放在cookie周围,那么它将显示一个bool而不是真正的价值。

2 个答案:

答案 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'];
}