<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Return the current element in an array</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.count.html">count</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.each.html">each</a></div> <div class="up"><a href="ref.array.html">Array Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.current" class="refentry"> <div class="refnamediv"> <h1 class="refname">current</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">current</span> — <span class="dc-title">Return the current element in an array</span></p> </div> <div class="refsect1 description" id="refsect1-function.current-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <span class="methodname"><strong>current</strong></span> ( <span class="methodparam"><span class="type">array</span> <code class="parameter reference">&$array</code></span> )</div> <p class="para rdfs-comment"> Every array has an internal pointer to its "current" element, which is initialized to the first element inserted into the array. </p> </div> <div class="refsect1 parameters" id="refsect1-function.current-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">array</code></em></span> <dd> <p class="para"> The array. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.current-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> The <span class="function"><strong>current()</strong></span> 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 or the array is empty, <span class="function"><strong>current()</strong></span> returns <strong><code>FALSE</code></strong>. </p> <div class="warning"><strong class="warning">Warning</strong><p class="simpara">This function may return Boolean <strong><code>FALSE</code></strong>, but may also return a non-Boolean value which evaluates to <strong><code>FALSE</code></strong>. Please read the section on <a href="language.types.boolean.html" class="link">Booleans</a> for more information. Use <a href="language.operators.comparison.html" class="link">the === operator</a> for testing the return value of this function.</p></div> </div> <div class="refsect1 examples" id="refsect1-function.current-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-5008"> <p><strong>Example #1 Example use of <span class="function"><strong>current()</strong></span> and friends</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$transport </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'foot'</span><span style="color: #007700">, </span><span style="color: #DD0000">'bike'</span><span style="color: #007700">, </span><span style="color: #DD0000">'car'</span><span style="color: #007700">, </span><span style="color: #DD0000">'plane'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$mode </span><span style="color: #007700">= </span><span style="color: #0000BB">current</span><span style="color: #007700">(</span><span style="color: #0000BB">$transport</span><span style="color: #007700">); </span><span style="color: #FF8000">// $mode = 'foot';<br /></span><span style="color: #0000BB">$mode </span><span style="color: #007700">= </span><span style="color: #0000BB">next</span><span style="color: #007700">(</span><span style="color: #0000BB">$transport</span><span style="color: #007700">); </span><span style="color: #FF8000">// $mode = 'bike';<br /></span><span style="color: #0000BB">$mode </span><span style="color: #007700">= </span><span style="color: #0000BB">current</span><span style="color: #007700">(</span><span style="color: #0000BB">$transport</span><span style="color: #007700">); </span><span style="color: #FF8000">// $mode = 'bike';<br /></span><span style="color: #0000BB">$mode </span><span style="color: #007700">= </span><span style="color: #0000BB">prev</span><span style="color: #007700">(</span><span style="color: #0000BB">$transport</span><span style="color: #007700">); </span><span style="color: #FF8000">// $mode = 'foot';<br /></span><span style="color: #0000BB">$mode </span><span style="color: #007700">= </span><span style="color: #0000BB">end</span><span style="color: #007700">(</span><span style="color: #0000BB">$transport</span><span style="color: #007700">); </span><span style="color: #FF8000">// $mode = 'plane';<br /></span><span style="color: #0000BB">$mode </span><span style="color: #007700">= </span><span style="color: #0000BB">current</span><span style="color: #007700">(</span><span style="color: #0000BB">$transport</span><span style="color: #007700">); </span><span style="color: #FF8000">// $mode = 'plane';<br /><br /></span><span style="color: #0000BB">$arr </span><span style="color: #007700">= array();<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">current</span><span style="color: #007700">(</span><span style="color: #0000BB">$arr</span><span style="color: #007700">)); </span><span style="color: #FF8000">// bool(false)<br /><br /></span><span style="color: #0000BB">$arr </span><span style="color: #007700">= array(array());<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">current</span><span style="color: #007700">(</span><span style="color: #0000BB">$arr</span><span style="color: #007700">)); </span><span style="color: #FF8000">// array(0) { }<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 notes" id="refsect1-function.current-notes"> <h3 class="title">Notes</h3> <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara"> You won't be able to distinguish the end of an array from a <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span> <strong><code>FALSE</code></strong> element. To properly traverse an array which may contain <strong><code>FALSE</code></strong> elements, see the <span class="function"><a href="function.each.html" class="function">each()</a></span> function. </span> </p></blockquote> </div> <div class="refsect1 seealso" id="refsect1-function.current-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.end.html" class="function" rel="rdfs-seeAlso">end()</a> - Set the internal pointer of an array to its last element</span></li> <li class="member"> <span class="function"><a href="function.key.html" class="function" rel="rdfs-seeAlso">key()</a> - Fetch a key from an array</span></li> <li class="member"> <span class="function"><a href="function.each.html" class="function" rel="rdfs-seeAlso">each()</a> - Return the current key and value pair from an array and advance the array cursor</span></li> <li class="member"> <span class="function"><a href="function.prev.html" class="function" rel="rdfs-seeAlso">prev()</a> - Rewind the internal array pointer</span></li> <li class="member"> <span class="function"><a href="function.reset.html" class="function" rel="rdfs-seeAlso">reset()</a> - Set the internal pointer of an array to its first element</span></li> <li class="member"> <span class="function"><a href="function.next.html" class="function" rel="rdfs-seeAlso">next()</a> - Advance the internal array pointer of an array</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.count.html">count</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.each.html">each</a></div> <div class="up"><a href="ref.array.html">Array Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>