php empty check on param returns false on not empty variable -


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;     } } 

when check empty($renderer->param) returns false if var_dump($renderer->param) returns correct value.

is php checks parameter inside class when it's stored in array or missing something?

you (should?) implement __isset() method. manual on empty() says:

when using empty() on inaccessible object properties, __isset() overloading method called, if declared.


Comments