When a class implements the ArrayAccess
interface, it becomes ready to function as an array, complete with OffsetGet, OffsetSet and so on.
One thing I didn't see was an implementation for when we want to count()
or sizeof()
it, which, in my limited knowledge of PHP, amounts to the same.
Is there anything like it already implemented in standard PHP?
The correct way would be to implement the 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";
}
In other words, you implement the logic what count()
should return yourself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With