【发布时间】:2011-07-31 04:18:58
【问题描述】:
考虑以下几点:
class MyClass
{
private $var1 = "apple";
private $var2 = "orange";
}
$obj = new MyClass();
if($obj) {
// do this
}
else {
// do that
}
PHP 将我的对象评估为 true,因为它具有成员变量。这个逻辑可以以某种方式被覆盖吗?换句话说,我可以控制我的类的对象在被视为布尔值时将评估的内容吗?
【问题讨论】:
-
不,目前我们只能在字符串转换中控制它。
-
为什么你需要有这种不寻常的行为?
-
您可以达到的最佳效果是
if( $obj() )或if ("$obj")或if (count($obj))代替布尔评估。
标签: php class object evaluation