考虑以下几点:评估对象为布尔
class MyClass
{
private $var1 = "apple";
private $var2 = "orange";
}
$obj = new MyClass();
if($obj) {
// do this
}
else {
// do that
}
PHP评估我的对象为真,因为它有成员变量。不知怎的,这个逻辑能否被覆盖?换句话说,当我的类的对象作为布尔值对待时,我可以控制什么样的对象会被评估为什么?
没有,作为然而,我们只能控制它串铸造。 – Wrikken 2011-04-06 21:00:39
为什么你需要有这种不寻常的行为? – 2011-04-06 21:04:44
您可以实现的最好方法是'if($ obj())'或'if(“$ obj”)'或者'if(count($ obj))'代替布尔评估。 – mario 2011-04-06 21:12:07