diff --git a/reference/spl/appenditerator.xml b/reference/spl/appenditerator.xml
index 5247a0c194..a8d1a789b2 100644
--- a/reference/spl/appenditerator.xml
+++ b/reference/spl/appenditerator.xml
@@ -50,6 +50,7 @@
&Methods;
+
&InheritedMethods;
diff --git a/reference/spl/appenditerator/construct.xml b/reference/spl/appenditerator/construct.xml
index 0e9b015b0e..3feaa50af8 100644
--- a/reference/spl/appenditerator/construct.xml
+++ b/reference/spl/appenditerator/construct.xml
@@ -6,33 +6,31 @@
AppendIterator::__construct
Constructs an AppendIterator
-
+
&reftitle.description;
-
+
+ public
AppendIterator::__construct
-
+
Constructs an AppendIterator.
-
- &warn.undocumented.func;
-
-
+
&reftitle.parameters;
&no.function.parameters;
-
+
&reftitle.returnvalues;
&return.void;
-
+
&reftitle.seealso;
@@ -41,7 +39,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.
+
+
+
@@ -66,6 +66,7 @@
&Methods;
+
diff --git a/reference/spl/multipleiterator/construct.xml b/reference/spl/multipleiterator/construct.xml
index fa3eda6766..67cd6ab065 100644
--- a/reference/spl/multipleiterator/construct.xml
+++ b/reference/spl/multipleiterator/construct.xml
@@ -6,21 +6,23 @@
MultipleIterator::__construct
Constructs a new MultipleIterator
-
+
&reftitle.description;
-
+
+ public
MultipleIterator::__construct
- intflags
-
+
+ int
+ flags
+ MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC
+
+
Construct a new MultipleIterator.
-
- &warn.undocumented.func;
-
-
+
&reftitle.parameters;
@@ -30,21 +32,30 @@
The flags to set, according to the
- Flag Constants
+ Flag Constants.
+
+
+ MultipleIterator::MIT_NEED_ALL or MultipleIterator::MIT_NEED_ANY
+
+
+ MultipleIterator::MIT_KEYS_NUMERIC or MultipleIterator::MIT_KEYS_ASSOC
+
+
+ Defaults to MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC.
-
+
&reftitle.returnvalues;
- The iterator.
+ &return.void;
-
+
&reftitle.seealso;
@@ -54,7 +65,119 @@
+
+
+
+ &reftitle.examples;
+
+
+ Iterating a MultipleIterator
+
+attachIterator($people, 'person');
+$team->attachIterator($roles, 'role');
+
+foreach ($team as $member) {
+ print_r($member);
+}
+?>
+]]>
+
+ Output with $flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC
+
+ John
+ [1] => Developer
+)
+Array
+(
+ [0] => Jane
+ [1] => Scrum Master
+)
+Array
+(
+ [0] => Jack
+ [1] => Project Owner
+)]]>
+
+ Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC
+
+ John
+ [1] => Developer
+)
+Array
+(
+ [0] => Jane
+ [1] => Scrum Master
+)
+Array
+(
+ [0] => Jack
+ [1] => Project Owner
+)
+Array
+(
+ [0] => Judy
+ [1] =>
+)]]>
+
+ Output with $flags = MIT_NEED_ALL|MIT_KEYS_ASSOC
+
+ John
+ [role] => Developer
+)
+Array
+(
+ [person] => Jane
+ [role] => Scrum Master
+)
+Array
+(
+ [person] => Jack
+ [role] => Project Owner
+)]]>
+
+ Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC
+
+ John
+ [role] => Developer
+)
+Array
+(
+ [person] => Jane
+ [role] => Scrum Master
+)
+Array
+(
+ [person] => Jack
+ [role] => Project Owner
+)
+Array
+(
+ [person] => Judy
+ [role] =>
+)]]>
+
+
+
+
+