Php 使用空与否有什么区别

Php 使用空与否有什么区别,php,Php,--案例2的输出-- 结果似乎两者没有区别,是否需要使用empty() 伙计们,谢谢 我知道PHP的文档和isset()的区别,因为我想清理我的代码,注意事项不是发生严重错误,而且我只是想得到一些建议。empty如果没有定义变量,将不会引发错误。同时empty在表达式上引发错误(在php5.5之前) 为空相当于!isset($var)|$var==false。所以!空的相当于isset($var)和&$var==true或只是isset($var)和&$var。因此,isset($var)就是区

--案例2的输出--

结果似乎两者没有区别,是否需要使用empty()

伙计们,谢谢


我知道PHP的文档和isset()的区别,因为我想清理我的代码,注意事项不是发生严重错误,而且我只是想得到一些建议。

empty
如果没有定义变量,将不会引发错误。同时
empty
在表达式上引发错误(在php5.5之前)

为空
相当于
!isset($var)|$var==false
。所以
!空的
相当于
isset($var)和&$var==true
或只是
isset($var)和&$var
。因此,
isset($var)
就是区别


尝试另一个测试:比如说,
$g
没有首先初始化
$g
您的输出是错误的$f是正确定义的。
$a = null;
$b = false;
$c = true;
$d = array();
$e = '';
$f;

//case 1
echo ($a)? '[true]<br>' : '[false]<br>';
echo ($b)? '[true]<br>' : '[false]<br>';
echo ($c)? '[true]<br>' : '[false]<br>';
echo ($d)? '[true]<br>' : '[false]<br>';
echo ($e)? '[true]<br>' : '[false]<br>';
echo ($f)? '[true]<br>' : '[false]<br>';

//case 2
echo !empty($a)? '[true]<br>' : '[false]<br>';
echo !empty($b)? '[true]<br>' : '[false]<br>';
echo !empty($c)? '[true]<br>' : '[false]<br>';
echo !empty($d)? '[true]<br>' : '[false]<br>';
echo !empty($e)? '[true]<br>' : '[false]<br>';
echo !empty($f)? '[true]<br>' : '[false]<br>';
[false]
[false]
[true]
[false]
[false]
Notice: Undefined variable: f in ... [false]
[false]
[false]
[true]
[false]
[false]
[false]