diff --git a/reference/spl/iterators.xml b/reference/spl/iterators.xml index 57f74d0f52..53977ea96c 100644 --- a/reference/spl/iterators.xml +++ b/reference/spl/iterators.xml @@ -13,7 +13,6 @@
Undocumented Iterators - RecursiveFilterIterator RecursiveTreeIterator
@@ -21,7 +20,6 @@ @@ -42,6 +40,7 @@ &reference.spl.recursivearrayiterator; &reference.spl.recursivecachingiterator; &reference.spl.recursivedirectoryiterator; + &reference.spl.recursivefilteriterator; &reference.spl.recursiveiteratoriterator; &reference.spl.recursiveregexiterator; &reference.spl.regexiterator; diff --git a/reference/spl/recursivefilteriterator.xml b/reference/spl/recursivefilteriterator.xml new file mode 100644 index 0000000000..7e3252497c --- /dev/null +++ b/reference/spl/recursivefilteriterator.xml @@ -0,0 +1,94 @@ + + + + + + The RecursiveFilterIterator class + RecursiveFilterIterator + + + + +
+ &reftitle.intro; + + This abstract iterator filters out unwanted values for a RecursiveIterator. + This class should be extended to implement custom filters. + The RecursiveFilterIterator::accept() must be implemented in the subclass. + +
+ + +
+ &reftitle.classsynopsis; + + + + RecursiveFilterIterator + + + + + RecursiveFilterIterator + + + + extends + FilterIterator + + + + Iterator + + + + Traversable + + + + OuterIterator + + + + RecursiveIterator + + + + + Methods + + + Inherited methods + + + + + +
+ +
+ + &reference.spl.entities.recursivefilteriterator; + +
+ + diff --git a/reference/spl/recursivefilteriterator/construct.xml b/reference/spl/recursivefilteriterator/construct.xml new file mode 100644 index 0000000000..2f609f554a --- /dev/null +++ b/reference/spl/recursivefilteriterator/construct.xml @@ -0,0 +1,163 @@ + + + + + + RecursiveFilterIterator::__construct + Create a RecursiveFilterIterator from a RecursiveIterator + + + + &reftitle.description; + + RecursiveFilterIterator::__construct + RecursiveIteratoriterator + + + Create a RecursiveFilterIterator from a RecursiveIterator. + + + + + + &reftitle.parameters; + + + + iterator + + + The RecursiveIterator to be filtered. + + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.examples; + + + Basic <methodname>RecursiveFilterIterator</methodname> example + +hasChildren() || (strpos($this->current(), "test") !== FALSE); + } +} + +$arrary = array("test1", array("taste2", "test3", "test4"), "test5"); +$iterator = new RecursiveArrayIterator($array); +$filter = new TestsOnlyFilter($iterator); + +foreach(new RecursiveIteratorIterator($filter) as $key => $value) +{ + echo $value . "\n"; +} +?> +]]> + + &example.outputs.similar; + + + + + + + + <methodname>RecursiveFilterIterator</methodname> example + +word = $word; + parent::__construct($rit); + } + + public function accept() { + return $this->hasChildren() OR strpos($this->current(), $this->word) === 0; + } + + public function getChildren() { + return new self($this->getInnerIterator()->getChildren(), $this->word); + } +} + +$array = array("test1", array("taste2", "test3", "test4"), "test5"); +$iterator = new RecursiveArrayIterator($array); +$filter = new StartsWithFilter($iterator, "test"); + +foreach(new RecursiveIteratorIterator($filter) as $key => $value) +{ + echo $value . "\n"; +} +?> +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + RecursiveFilterIterator::getChildren + RecursiveFilterIterator::hasChildren + FilterIterator::accept + + + + + + + diff --git a/reference/spl/recursivefilteriterator/getchildren.xml b/reference/spl/recursivefilteriterator/getchildren.xml new file mode 100644 index 0000000000..68950ed560 --- /dev/null +++ b/reference/spl/recursivefilteriterator/getchildren.xml @@ -0,0 +1,64 @@ + + + + + + RecursiveFilterIterator::getChildren + Return the inner iterator's children contained in a RecursiveFilterIterator + + + + &reftitle.description; + + public voidRecursiveFilterIterator::getChildren + + + + Return the inner iterator's children contained in a RecursiveFilterIterator. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns a RecursiveFilterIterator containing the inner iterator's children. + + + + + &reftitle.seealso; + + + RecursiveFilterIterator::hasChildren + RecursiveIterator::getChildren + + + + + + + diff --git a/reference/spl/recursivefilteriterator/haschildren.xml b/reference/spl/recursivefilteriterator/haschildren.xml new file mode 100644 index 0000000000..5b5801e4bd --- /dev/null +++ b/reference/spl/recursivefilteriterator/haschildren.xml @@ -0,0 +1,65 @@ + + + + + + RecursiveFilterIterator::hasChildren + Check whether the inner iterator's current element has children + + + + &reftitle.description; + + public voidRecursiveFilterIterator::hasChildren + + + + Check whether the inner iterator's current element has children. + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + &true; if the inner iterator has children, otherwise &false; + + + + + &reftitle.seealso; + + + RecursiveFilterIterator::getChildren + RecursiveIterator::hasChildren + + + + + + +