我收到错误,发现isset()
没有按预期工作。
我发现它返回的是 null 而不是 false;这怎么会发生?
我的测试代码:
echo 'COUNT : '.count($_GET).', ISSET : '.(isset($_GET['test'])==null);
返回 : 计数 : 0, ISSET : 1
根据请求的评论。
isset()
不会回来NULL
!这是因为比较将NULL
视为FALSE
。您可以在手册中看到这一点:http://php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
另外,如果您查看手册isset()
:http://php.net/manual/en/function.isset.php
您将看到它只返回TRUE
或FALSE
:
如果 var 存在且值不是 NULL,则返回 TRUE,否则返回 FALSE。
现在要解决此问题,您只需将==
更改为此===
,以便比较也比较类型。