我觉得我在这里遗漏了一些东西。我一直在使用 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 回显“它是空的”。但不是!!!
但是,如果我将属性存储在变量中,然后评估它,它确实有效。
那么确定对象属性是否为空的最佳方法是什么?谢谢你。