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

php empty不是没有属性的对象会返回true吗?

程序员文章站 2022-05-30 09:37:50
...

回复内容:


参考PHP文档:empty — 检查一个变量是否为空

很显然 obj 不是空的~

测试一下:

print_r($obj);

Game Object ( )


空还是非空是有定义的,你别猜啊……


对象都已经被实例化了, 那么empty肯定是不会空的, 我理解的empty

empty(''); //true
empty(0); //true
empty('0'); //true
empty(NULL); //true
empty([]); //true
empty(array(array())); //false

$a;//只定义不赋值
empty($a);//true

class AA {}
$aa = new AA();
empty($aa);// false, 对象真实存在, 不为空

class BB {
    public $name;
}

$bb = new BB();
empty($bb->name); //true

这个很明显不为空啊, empty 一般是判断变量用的, 其实你这判断一个对象 也没实际作用,
你new一个空对象, 跟赋值一个空变量或者空数组是不一样的,
或者你可以打印出来看下, object(Game)[1]
这是打印出来的,

以上就是php empty不是没有属性的对象会返回true吗?的内容,更多相关内容请关注PHP中文网(www.php.cn)!