我觉得我在这里错过了一些东西。我一直在使用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
对象应在其数字属性的值(5)。正如你可能猜到的那样,问题在于php会回应“空洞”。但它不是!
但是,如果我将属性存储在一个变量中,然后对其进行评估,它确实有效。
那么确定对象属性是否为空的最佳方法是什么?谢谢。
我喜欢它,当我发布一个正确的答案,但有人发布了一个更正确的答案。 +1 – Fluffeh 2012-08-02 03:25:14
这可能是......你这个聪明的人...... – blee908 2012-08-02 03:26:20