欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请问在if语句中 ! 和empty 是不是相同的;

程序员文章站 2022-05-03 14:54:58
...
$a=array(); $a=''; $a="0"; $a=null; ...
if(empty($a)) == if(!$a) ;

最近看thinkphp框架代码, 在判断语句中,使用了好多empty()而不用 ! ;

求问: 框架编写者是基于什么目的 用empty()而不用!

难道是 empty 比 ! 节省服务器资源? 很费解; 我相信肯定有原因的,求问原因;







回复讨论(解决方案)

我想你弄错了 ! 是非的意思 。

if(empty($a)) 判断$a是否为空,为空返回true,否则返回false
if(!$a) $a如果存在返回false,否返回true

! 逻辑运算符,是取反的意思。
empty是方法。

两者区别在于,如果$a没有定义。empty不会出错。而!$a会出错。

var_dump(empty($a));var_dump(!$a);  // 会提示 Notice: Undefined variable: a