我感觉自己缺少了一些东西。我已经使用PHP的empty()
函数相当长的时间来判断一个变量是否为空。我想使用它来确定对象属性是否为空,但不知何故它不起作用。这里有一个简化的类来说明这个问题。
// The Class
class Person{
private $number;
public function __construct($num){
$this->number = $num;
}
// this the returns value, even though its a private member
public function __get($property){
return intval($this->$property);
}
}
// The Code
$person = new Person(5);
if (empty($person->number)){
echo "its empty";
} else {
echo "its not empty";
}
基本上,$person
对象的 number 属性应该有一个值(5)。正如你可能已经猜到的那样,问题是 php 输出 "its empty"。但它不是空的!!!
然而,如果我将属性存储在一个变量中,然后进行评估,它确实可以工作。
那么,确定对象属性是否为空的最佳方法是什么呢?谢谢。