php空检查param在非空变量上返回false

时间:2013-07-19 14:29:54

标签: php

class Renderer
{
    private $data;

    public function __construct()
    {
        $this->data = array();
    }

    public function __get($key)
    {
        return array_key_exists($key, $this->data) ? $this->data[$key] : null;
    }

    public function __set($key, $value)
    {
        $this->data[$key] = $value;
    }
}

当我检查empty($renderer->param)时,即使var_dump($renderer->param)返回正确的值,它也会返回false。

当它存储在数组中时,是否检查了类中的参数,或者我错过了什么?

1 个答案:

答案 0 :(得分:3)

你可以(应该)实现__isset()方法。 manual on empty() says:

  

在无法访问的对象属性上使用empty()时,如果声明了__isset()重载方法,则会调用它。