我有一堂课如下:
class Fields implements ArrayAccess, Countable, SeekableIterator
{
$this->_fields = array();
...continue
}
我想让我的班级具有以下布尔能力
$myArray = new Fields();
if($myArray == false)
{
echo 'It is empty';
}
如何在我的课堂上实现上述行为
对于您的“问题”,这不是一个好的解决方案,但它确实有效。
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
,但它是一种可能性。