dpjj4763 2015-11-11 17:04
浏览 34

ISSET和ARRAY_KEY_EXISTS都返回false

So I have some code. It looks like this:

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'/> ";
}

Checking for null is clunky, though, and I wanted to follow best practices. And it looked like those were using isset. Sensible. So I tried it. That code looked like this:

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

But when that got evaluated, it always came out to false. I was looking at the developer tools, and userid definitely existed, definitely was set, but it was returning false. So I looked around some more, and saw that ISSET can be 'wonky' with $_COOKIE (no explanation of why was provided). The recommendation was that ARRAY_KEY_EXISTS would get me what I wanted. Now, it wouldn't check to see if the value was set, but for my use case, if the cookie name existed, the value would be set and I could proceed.

That code looked like this:

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

Also no dice. I tried it with single quotes, no dice.

So. I'm working with PHP version 5.6. What am I doing wrong here?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 2024-五一综合模拟赛
    • ¥15 如何将下列的“无限压缩存储器”设计出来
    • ¥15 下图接收小电路,谁知道原理
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
    • ¥15 ETLCloud 处理json多层级问题
    • ¥15 matlab中使用gurobi时报错
    • ¥15 这个主板怎么能扩出一两个sata口