我有一個非常奇怪的和意想不到的問題。empty()在對象的非空屬性返回TRUE
empty()
在非空屬性上返回TRUE
,原因不明。
class MyObject
{
private $_property;
public function __construct($property)
{
$this->_property = $property;
}
public function __get($name)
{
$priv_name = "_{$name}";
if (isset($this->$priv_name))
{
return $this->$priv_name;
}
else
{
return NULL;
}
}
}
$obj = new MyObject('string value');
echo $obj->property; // Output 'string value'
echo empty($obj->property); // Output 1 (means, that property is empty)
請問這意味着,該__get()
神奇的功能是不使用empty()
的時候叫什麼?
btw。我正在運行PHP版本5.0.4