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. + + +