<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id="appenditerator.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> <refname>AppendIterator::__construct</refname> <refpurpose>Constructs an AppendIterator</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <constructorsynopsis role="oop"> <modifier>public</modifier> <methodname>AppendIterator::__construct</methodname> <void /> </constructorsynopsis> <para> Constructs an AppendIterator. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; &no.function.parameters; </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> &return.void; </para> </refsect1> <refsect1 role="examples"><!-- {{{ --> &reftitle.examples; <para> <example xml:id="appenditerator.examples.foreach"><!-- {{{ --> <title>Iterating AppendIterator with foreach</title> <programlisting role="php"> <![CDATA[ <?php $pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii')); $toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham')); $appendIterator = new AppendIterator; $appendIterator->append($pizzas); $appendIterator->append($toppings); foreach ($appendIterator as $key => $item) { echo $key . ' => ' . $item . PHP_EOL; } ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ 0 => Margarita 1 => Siciliana 2 => Hawaii 0 => Cheese 1 => Anchovies 2 => Olives 3 => Pineapple 4 => Ham ]]> </screen> </example><!-- }}} --> <example xml:id="appenditerator.examples.api"><!-- {{{ --> <title>Iterating AppendIterator with the AppendIterator API</title> <programlisting role="php"> <![CDATA[ <?php $pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii')); $toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham')); $appendIterator = new AppendIterator; $appendIterator->append($pizzas); $appendIterator->append($toppings); while ($appendIterator->valid()) { printf( '%s => %s => %s%s', $appendIterator->getIteratorIndex(), $appendIterator->key(), $appendIterator->current(), PHP_EOL ); $appendIterator->next(); } ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ 0 => 0 => Margarita 0 => 1 => Siciliana 0 => 2 => Hawaii 1 => 0 => Cheese 1 => 1 => Anchovies 1 => 2 => Olives 1 => 3 => Pineapple 1 => 4 => Ham ]]> </screen> </example><!-- }}} --> </para> </refsect1><!-- }}} --> <refsect1 role="notes"><!-- {{{ --> &reftitle.notes; <caution> <para> When using <function>iterator_to_array</function> to copy the values of the AppendIterator into an array, you have to set the optional <parameter>use_key</parameter> argument to &false;. When <parameter>use_key</parameter> 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. </para> </caution> </refsect1><!-- }}} --> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><methodname>AppendIterator::append</methodname></member> </simplelist> </para> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"~/.phpdoc/manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->