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