6

クラスがArrayAccessインターフェイスを実装すると、OffsetGet、OffsetSetなどを備えた配列として機能する準備が整います。

私が見なかったことの1つは、必要なときの実装でしたcount()sizeof()これは、PHPに関する私の限られた知識では、同じになります。

標準のPHPにすでに実装されているようなものはありますか?

4

1 に答える 1

13

正しい方法は、可算インターフェースを実装することです

例1Countable:: 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()自分自身を返すはずのロジックを実装します。

于 2011-03-13T13:40:16.330 に答える