if(!$variable)
和if(isset($variable))
之间的区别是什么?
答案 0 :(得分:19)
嗯,答案很简单。 isset($var)
返回变量是否存在且不为空,其中!$var
告诉您该变量是true
,还是评估为true
的任何变量(例如非变量) -empty string)。这在this documentation page的第一个表格中进行了总结。
此外,使用!$var
会输出您正在使用未定义变量的通知,而isset($var)
则不会这样做。
请注意,它们是两回事:
<?php
var_dump( isset($foo) ); // false.
var_dump( !$foo ); // true, but with a warning.
$foo = false;
var_dump( isset($foo) ); // true
var_dump( !$foo ); // true.
答案 1 :(得分:3)
如果未设置变量,则在使用if(!Variable)时会收到警告。
答案 2 :(得分:0)
他们是两个不同的陈述