当一个类实现ArrayAccess
接口时,它就可以作为一个数组运行,完成OffsetGet,OffsetSet等等。
我没有看到的一件事就是我们想要count()
或sizeof()
时的实现,这在我对PHP的有限知识中是相同的。
在标准PHP中是否有类似已经的内容?
答案 0 :(得分:13)
正确的方法是实施Countable interface
Example #1 Countable::count() example
<?php
class myCounter implements Countable {
public function count() {
static $count = 0;
return ++$count;
}
}
$counter = new myCounter;
for($i=0; $i<10; ++$i) {
echo "I have been count()ed " . count($counter) . " times\n";
}
换句话说,你实现了count()
应该自己返回的逻辑。