内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
考虑以下几点:
class MyClass { private $var1 = "apple"; private $var2 = "orange"; } $obj = new MyClass(); if($obj) { // do this } else { // do that }
PHP将我的对象计算为true,因为它有成员变量。这种说法对吗?
你能做的就是用__invoke
:
class MyObject { private $_state; public function __construct($state = false) { $this->_state = $state; } public function __invoke() { return $this->_state; } } $true = new MyObject(true); $false = new MyObject(false); var_dump($true()); // true var_dump($false()); // false