我有一个课程如下:
class Fields implements ArrayAccess, Countable, SeekableIterator
{
$this->_fields = array();
...continue
}
我希望我的班级具有以下布尔能力
$myArray = new Fields();
if($myArray == false)
{
echo 'It is empty';
}
如何在我的班级中实施上述行为
答案 0 :(得分:0)
这对你的“问题”来说不是一个好的解决方案,但它确实有用。
class Fields implements ArrayAccess, Countable, SeekableIterator
{
protected $_fields = array();
// ...continue
public function __invoke() {
return $this->_fields == true;
}
}
我只是实现了一个__invoke()
方法,如果该对象被用作函数,则会调用该方法。
如果您现在执行以下操作,它将按预期工作。
$myArray = new Fields();
if($myArray() == false)
{
echo 'It is empty';
}
这可能不是您使用__invoke
的最佳方式或方式,但这是可能的。