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] => +)]]> + + + + +