在PHP中,如果变量没有值,为什么isset()仍然返回TRUE?

xcz*_*zhh 0 php programming-languages

这是我的代码:

<?php
   $ja = ''; 

  if(isset($ja))
   echo "cool!";

?>
Run Code Online (Sandbox Code Playgroud)

我觉得"很酷!" 在我的浏览器中运行这段简单的代码时.我从php.net那里学到了

isset - 确定变量是否已设置且不为NULL

好吧,在我的代码中,我确实声明了变量$ ja,但我没有添加任何值,所以不应该是"NULL"吗?

Kev*_*ans 5

即使''似乎没什么,它仍然有一个值(字符串末尾的NULL字符).

isset()检查变量是否设置,在这种情况下(到''),它是.您可能希望先将$ ja设置为NULL,而不是将其设置为空字符串...或者使用empty();)