我收到错误,发现isset()
没有按预期工作。
我发现它返回null而不是false;怎么会发生这种情况?
我的测试代码:
echo 'COUNT : '.count($_GET).', ISSET : '.(isset($_GET['test'])==null);
返回:COUNT:0,ISSET:1
答案 0 :(得分:1)
isset()
未返回NULL
!这是因为comparison将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。
现在要解决此问题,您只需将==
更改为此===
,以便比较也会比较类型。