php empty不是没有属性的对象会返回true吗?
大家讲道理
大家讲道理 2017-04-11 10:07:18
0
5
805

测试了一下:

<?php


class Game {

}

$obj = new Game();
if(empty($obj)) {
    echo '空的';
} else {
    echo "不空";
}

?>

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(5)
刘奇

参考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]
这是打印出来的,

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template