From 1738cb5f71c66fabf3afc79079afa305edfcbd75 Mon Sep 17 00:00:00 2001 From: Peter Cowburn Date: Mon, 11 Jul 2011 15:52:02 +0000 Subject: [PATCH] AppendIterator constructor docs (patch by Gordon Oheim) git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@313138 c90b9560-bf6c-de11-be94-00142212c4b1 --- reference/spl/appenditerator.xml | 4 +- reference/spl/appenditerator/construct.xml | 106 +++++++++++++++++++-- 2 files changed, 99 insertions(+), 11 deletions(-) diff --git a/reference/spl/appenditerator.xml b/reference/spl/appenditerator.xml index 5247a0c194..600e14e1e9 100644 --- a/reference/spl/appenditerator.xml +++ b/reference/spl/appenditerator.xml @@ -12,7 +12,7 @@
&reftitle.intro; - An Iterator that iterates over several iterators one after the other. + Consecutively iterates over all iterators appended to this iterator.
@@ -50,11 +50,11 @@ &Methods; + &InheritedMethods; - diff --git a/reference/spl/appenditerator/construct.xml b/reference/spl/appenditerator/construct.xml index 0e9b015b0e..04098856b3 100644 --- a/reference/spl/appenditerator/construct.xml +++ b/reference/spl/appenditerator/construct.xml @@ -6,33 +6,32 @@ AppendIterator::__construct Constructs an AppendIterator - + &reftitle.description; - + + public + void AppendIterator::__construct - + Constructs an AppendIterator. - - &warn.undocumented.func; - - + &reftitle.parameters; &no.function.parameters; - + &reftitle.returnvalues; &return.void; - + &reftitle.seealso; @@ -41,7 +40,96 @@ + + + + &reftitle.examples; + + + Iterating AppendIterator with foreach + +append($pizzas); +$appendIterator->append($toppings); + +foreach ($appendIterator as $key => $item) { + echo "$key => $item", PHP_EOL; +} +?> +]]> + + &example.outputs.similar; + + Margarita +1 => Siciliana +2 => Hawaii +0 => Cheese +1 => Anchovies +2 => Olives +3 => Pineapple +4 => Ham +]]> + + + + Iterating AppendIterator with the AppendIterator API + +append($pizzas); +$appendIterator->append($toppings); + +while ($appendIterator->valid()) { + printf( + '%s => %s => %s%s', + $appendIterator->getIteratorIndex(), + $appendIterator->key(), + $appendIterator->current(), + PHP_EOL + ); + $appendIterator->next(); +} +?> +]]> + + &example.outputs.similar; + + 0 => Margarita +0 => 1 => Siciliana +0 => 2 => Hawaii +1 => 0 => Cheese +1 => 1 => Anchovies +1 => 2 => Olives +1 => 3 => Pineapple +1 => 4 => Ham +]]> + + + + + + + &reftitle.notes; + + + When using iterator_to_array to copy the values of the AppendIterator + into an array, you have to set the optional use_key argument to + &false;. When use_key is not &false; any keys reoccuring in inner + iterators will get overwritten in the returned array. There is no way to preserve the original keys. + + +