<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.9 $ -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
  <refentry id="function.current">
   <refnamediv>
    <refname>current</refname>
    <refpurpose>Return the current element in an array</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>mixed</type><methodname>current</methodname>
      <methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
     </methodsynopsis>
    <para>
     Every array has an internal pointer to its "current" element,
     which is initialized to the first element inserted into the
     array.
    </para>
    <para>
     The <function>current</function> function simply returns the
     value of the array element that's currently being pointed to by the
     internal pointer.  It does not move the pointer in any way.  If the
     internal pointer points beyond the end of the elements list,
     <function>current</function> returns &false;.
     <warning>
      <para>
       If the array contains empty elements (0 or "", the empty
       string) then this function will return &false;
       for these elements as well.  This makes it impossible to
       determine if you are really at the end of the list in such
       an array using <function>current</function>.  To properly
       traverse an array that may contain empty elements, use the
       <function>each</function> function.
      </para>
     </warning>
    </para>
    <para>
     <example>
      <title>Example use of <function>current</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 = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     See also <function>end</function>, <function>key</function>,
     <function>next</function>, <function>prev</function>, and
     <function>reset</function>.
    </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:"../../../../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
-->