当一个类实现了ArrayAccess
接口时,它就可以作为一个数组使用了,包括 OffsetGet、OffsetSet 等等。
我没有看到的一件事是当我们想要count()
或sizeof()
它时的实现,在我对 PHP 的有限了解中,它相当于相同。
有没有类似的东西已经在标准 PHP 中实现了?
正确的方法是实现Countable 接口
Example #1 Countable::count() 例子
<?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()
应该返回的逻辑。