class NewIterator implements Countable, RecursiveIterator, SeekableIterator { private $array = [] } // Countable public function count(){ return count($this->array); } // RecursiveIterator is_array($this->current())){ return true; } return false; } // RecursiveIterator int(5) // [1]=> // int(6) // [2]=> // int(7) // } 关于代码不多解释了,注释里也有说明,最主要的就是要实现 Countable, RecursiveIterator
同一时候,你还能够使用 RecursiveIterator、ArrayObejcts 等其它迭代器进行数据的迭代操作。 查看上面的代码,你不是拥有了具有高度重用并且能够測试的代码了吗 :) 以下是 SPL 提供的其它的迭代器: RecursiveIterator RecursiveIteratorIterator OuterIterator
RecursiveIterator界面 7. SeekableIterator界面 8. Countable界面 第三部分 SPL Classes 9. SPL的内置类 10. RecursiveIterator界面 这个界面用于遍历多层数据,它继承了Iterator界面,因而也具有标准的current()、key()、next()、 rewind()和valid()方法。 The getChildren() method must return an object that implements RecursiveIterator. 7.
同时,你还可以使用 RecursiveIterator、ArrayObejcts 等其他迭代器进行数据的迭代操作。
可在内部迭代自己的外部迭代器或类的接口) IteratorAggregate 聚合式迭代器接口(创建外部迭代器的接口) OuterIterator 迭代器嵌套接口(将一个或多个迭代器包裹在另一个迭代器中) RecursiveIterator
++Pre_1--v2_tall ++Pre_2--v3_tall ++Pre_3--v4_tall */ SPL基础接口 -- RecursiveIterator
86400 sockets Sockets Support enabled SPL SPL support enabled Interfaces Countable, OuterIterator, RecursiveIterator
该类部分代码如下 class SplFileObject extends SplFileInfo implements RecursiveIterator, SeekableIterator { /*