【问题标题】:functions gives bool and not the value, isset()函数给出布尔值而不是值,isset()
【发布时间】:2017-12-24 11:47:22
【问题描述】:

我的 cookie 部分有问题。我想保存并获取我的 cookie,但如果未设置 cookie,我会得到并“找不到索引”。所以我在cookie周围尝试了isset(),但我不能只得到一个布尔值。

代码:

['gender' => isset($_COOKIE['age']),]

结果:

["gender"]=> bool(false)

我需要什么:

["gender"] => string(1) '1'

var_dump $_COOKIE

["gender"]=> string(1) "1"

为什么给 isset() 一个 bool 作为结果而不是实际值作为结果。

Cookie 保存:

问题是,如果设置了 cookie,我将获得一个值,但如果设置了 cookie,并且我在 cookie 周围使用了 isset() 函数,它将显示一个布尔值,而不是真正的值。

【问题讨论】:

标签: php cookies


【解决方案1】:

为什么给 isset() 一个 bool 作为结果而不是实际值作为结果。

因为isset() 返回一个布尔值。如果 isset() 被评估为 true,则需要返回 cookie 值:

['age' => (isset($_COOKIE['age']) ? $_COOKIE['age'] : false),]

如果设置了 cookie,上述行将返回值,否则返回 false

【讨论】:

    【解决方案2】:

    isset 总是给你一个布尔返回。请像这样回显您请求的 cookie 的结果:

    if(isset($_COOKIE['age']){
    {
       $_COOKIE['age'];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      相关资源
      最近更新 更多