<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id="function.next" xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>next</refname> <refpurpose>Advance the internal pointer of an array</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>mixed</type><methodname>next</methodname> <methodparam><type class="union"><type>array</type><type>object</type></type><parameter role="reference">array</parameter></methodparam> </methodsynopsis> <para> <function>next</function> behaves like <function>current</function>, with one difference. It advances the internal array pointer one place forward before returning the element value. That means it returns the next array value and advances the internal array pointer by one. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>array</parameter></term> <listitem> <para> The <type>array</type> being affected. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns the array value in the next place that's pointed to by the internal array pointer, or &false; if there are no more elements. </para> &return.falseproblem; </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title>Example use of <function>next</function> and friends</title> <programlisting role="php"> <![CDATA[ <?php $transport = array('foot', 'bike', 'car', 'plane'); $mode = current($transport); // $mode = 'foot'; $mode = next($transport); // $mode = 'bike'; $mode = next($transport); // $mode = 'car'; $mode = prev($transport); // $mode = 'bike'; $mode = end($transport); // $mode = 'plane'; ?> ]]> </programlisting> </example> </para> </refsect1> <refsect1 role="notes"> &reftitle.notes; <note> <simpara> The end of an array is indistinguishable from a <type>bool</type> &false; element. To properly traverse an array which may contain &false; elements, see the <function>foreach</function> function. </simpara> <simpara> To still use <function>next</function> and properly check if the end of the array has been reached, verify that the <function>key</function> is &null;. </simpara> </note> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>current</function></member> <member><function>end</function></member> <member><function>prev</function></member> <member><function>reset</function></member> <member><function>each</function></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 -->