[英]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 I check empty($renderer->param)
it returns false even if var_dump($renderer->param)
returns correct value. 当我检查
empty($renderer->param)
,即使var_dump($renderer->param)
返回正确的值,它也会返回false。
Is it that php checks for parameter inside class when it's stored in array or am I missing something? 当它存储在数组中时,php是否在类中检查参数?还是我错过了一些东西?
You could (should?) implement an __isset()
method. 您可以(应该?)实现
__isset()
方法。 The manual on empty()
says: empty()
手册上说:
When using empty() on inaccessible object properties, the __isset() overloading method will be called, if declared.
在无法访问的对象属性上使用empty()时,将声明__isset()重载方法(如果声明)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.