ISSET和ARRAY_KEY_EXISTS都返回false

时间:2015-11-11 17:04:21

标签: php php-5.6

所以我有一些代码。它看起来像这样:

if($_COOKIE['userid']!=null) {
    echo "<input value='" . $_COOKIE['userid'] . "' id = 'userIdField' class = 'proForma' type='text'/> ";
}else
{
    echo "<input value='' id = 'userIdField' class = 'proForma' type='text'/> ";
}

但是,检查null是笨重的,我想遵循最佳实践。看起来那些人正在使用isset。明智的。所以我试了一下。该代码看起来像这样:

if(isset($_COOKIE['userid'])){//do stuff}

但是当得到评估时,它总是变得虚假。我正在查看开发人员工具,并且userid肯定存在,肯定已经设置,但它返回false。所以我再看了一遍,发现ISSET可能会变得很糟糕。与$ _COOKIE(没有解释为什么提供)。建议是ARRAY_KEY_EXISTS会得到我想要的东西。现在,它不会检查是否设置了值,但对于我的用例,如果存在cookie名称,则将设置该值并且我可以继续。

该代码看起来像这样:

if(array_key_exists("userid", $_COOKIE)){//do stuff}

也没有骰子。我用单引号尝试了它,没有骰子。

因此。我正在使用PHP 5.6版。我在这里做错了什么?

0 个答案:

没有答案