[PHP]empty一直返回true

class Post
{
    public function __get($key)
    {
        return true;
    }
}

$post = new Post();
var_dump(empty($post->a));// bool(true)

PHP: 重载 - Manual 

读取不可访问(protected 或 private)或不存在的属性的值时,__get() 会被调用。

当对不可访问(protected 或 private)或不存在的属性调用 isset() 或 empty() 时,__isset() 会被调用。

 

你可能感兴趣的:(PHP,empty,true,异常,bug,__get)