<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<refentry xml:id="multipleiterator.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>MultipleIterator::__construct</refname>
  <refpurpose>Constructs a new MultipleIterator</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <constructorsynopsis>
   <modifier>public</modifier>
   <methodname>MultipleIterator::__construct</methodname>
   <methodparam choice="opt">
    <type>int</type>
    <parameter>flags</parameter>
    <initializer>MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC</initializer>
   </methodparam>
  </constructorsynopsis>
  <para>
   Construct a new MultipleIterator.
  </para>
 </refsect1>
 
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>flags</parameter></term>
     <listitem>
      <para>
       The flags to set, according to the
       <link linkend="multipleiterator.constants">Flag Constants</link>.
       <simplelist>
        <member>
         <constant>MultipleIterator::MIT_NEED_ALL</constant> or <constant>MultipleIterator::MIT_NEED_ANY</constant>
        </member>
        <member>
         <constant>MultipleIterator::MIT_KEYS_NUMERIC</constant> or <constant>MultipleIterator::MIT_KEYS_ASSOC</constant>
        </member>
       </simplelist>
      </para>
      <para>       Defaults to <constant>MultipleIterator::MIT_NEED_ALL</constant>|<constant>MultipleIterator::MIT_KEYS_NUMERIC</constant>.</para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.void;
  </para>
 </refsect1>
 
 <refsect1 role="examples"><!-- {{{ -->
  &reftitle.examples;
  <para>
   <example xml:id="multipleiterator.example.basic"><!-- {{{ -->
    <title>Iterating a MultipleIterator</title>
    <programlisting role="php">
<![CDATA[
<?php
$people = new ArrayIterator(array('John', 'Jane', 'Jack', 'Judy'));
$roles  = new ArrayIterator(array('Developer', 'Scrum Master', 'Project Owner'));

$team = new MultipleIterator($flags);
$team->attachIterator($people, 'person');
$team->attachIterator($roles, 'role');

foreach ($team as $member) {
    print_r($member);
}
?>
]]>
    </programlisting> 
    <para xml:id="multipleiterator.examples.basic.1">Output with <literal>$flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC</literal></para>
    <screen>
<![CDATA[
Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)]]>
    </screen>
    <para xml:id="multipleiterator.examples.basic.2">Output with <literal>$flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC</literal></para>
    <screen>
<![CDATA[
Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)
Array
(
    [0] => Judy
    [1] =>
)]]>
    </screen>
    <para xml:id="multipleiterator.examples.basic.3">Output with <literal>$flags = MIT_NEED_ALL|MIT_KEYS_ASSOC</literal></para>
    <screen>
<![CDATA[
Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)]]>
    </screen>
    <para xml:id="multipleiterator.examples.basic.4">Output with <literal>$flags = MIT_NEED_ANY|MIT_KEYS_ASSOC</literal></para>
    <screen>
<![CDATA[
Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)
Array
(
    [person] => Judy
    [role] =>
)]]>
    </screen>    
   </example><!-- }}} -->
  </para>
 </refsect1><!-- }}} -->   

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><link linkend="multipleiterator.constants">Flag Constants</link></member>
    <member><methodname>MultipleIterator::valid</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
-->