&spl.iterators.intro.title;
&spl.iterators.intro;

## SPL Iterators Class Tree

- `ArrayIterator`

  - `RecursiveArrayIterator`

- `EmptyIterator`

- `IteratorIterator`

  - `AppendIterator`

  - `CachingIterator`

    - `RecursiveCachingIterator`

  - `FilterIterator`

    - `CallbackFilterIterator`

      - `RecursiveCallbackFilterIterator`

    - `RecursiveFilterIterator`

      - `ParentIterator`

    - `RegexIterator`

      - `RecursiveRegexIterator`

  - `InfiniteIterator`

  - `LimitIterator`

  - `NoRewindIterator`

- `MultipleIterator`

- `RecursiveIteratorIterator`

  - `RecursiveTreeIterator`

- `DirectoryIterator` (extends `SplFileInfo`)

  - `FilesystemIterator`

    - `GlobIterator`

    - `RecursiveDirectoryIterator`

&reference.spl.appenditerator; &reference.spl.arrayiterator; &reference.spl.cachingiterator; &reference.spl.callbackfilteriterator; &reference.spl.directoryiterator; &reference.spl.emptyiterator; &reference.spl.filesystemiterator; &reference.spl.filteriterator; &reference.spl.globiterator; &reference.spl.infiniteiterator; &reference.spl.iteratoriterator; &reference.spl.limititerator; &reference.spl.multipleiterator; &reference.spl.norewinditerator; &reference.spl.parentiterator; &reference.spl.recursivearrayiterator; &reference.spl.recursivecachingiterator; &reference.spl.recursivecallbackfilteriterator; &reference.spl.recursivedirectoryiterator; &reference.spl.recursivefilteriterator; &reference.spl.recursiveiteratoriterator; &reference.spl.recursiveregexiterator; &reference.spl.recursivetreeiterator; &reference.spl.regexiterator;