<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.array.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'uk',
  ),
  'this' => 
  array (
    0 => 'function.key.php',
    1 => 'key',
    2 => 'Fetch a key from an array',
  ),
  'up' => 
  array (
    0 => 'ref.array.php',
    1 => 'Функції для роботи з масивами',
  ),
  'prev' => 
  array (
    0 => 'function.in-array.php',
    1 => 'in_array',
  ),
  'next' => 
  array (
    0 => 'function.key-exists.php',
    1 => 'key_exists',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/array/functions/key.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.key" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">key</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">key</span> &mdash; <span class="dc-title">Fetch a key from an array</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.key-description">
  <h3 class="title">Опис</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>key</strong></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.object.php" class="type object">object</a></span></span> <code class="parameter">$array</code></span>): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.null.php" class="type null">null</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>key()</strong></span> returns the index element of the current array
   position.
  </p>
 </div>

 <div class="refsect1 parameters" id="refsect1-function.key-parameters">
  <h3 class="title">Параметри</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">array</code></dt>
     <dd>
      <p class="para">
       The array.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.key-returnvalues">
  <h3 class="title">Значення, що повертаються</h3>
  <p class="para">
   The <span class="function"><strong>key()</strong></span> function simply returns the
   key of the array element that&#039;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>key()</strong></span> returns <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.key-changelog">
  <h3 class="title">Журнал змін</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Версія</th>
      <th>Опис</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
 <td>8.1.0</td>
 <td>
  Виклик цієї функції для об&#039;єктів є застарілим. Краще перетворити <span class="type"><a href="language.types.object.php" class="type object">object</a></span>
  в <span class="type"><a href="language.types.array.php" class="type array">array</a></span>, застосувавши <span class="function"><a href="function.get-mangled-object-vars.php" class="function">get_mangled_object_vars()</a></span>, або
  використати методи класу, який імплементує
  <span class="interfacename"><a href="class.iterator.php" class="interfacename">Iterator</a></span>, наприклад
  <span class="classname"><a href="class.arrayiterator.php" class="classname">ArrayIterator</a></span>.
 </td>
</tr>

<tr>
 <td>7.4.0</td>
 <td>
  Примірники класів <a href="book.spl.php" class="link">SPL</a> тепер розглядаються як порожні об&#039;єкти, які
  не мають властивостей, замість виклику метода інтерфейсу
  <span class="interfacename"><a href="class.iterator.php" class="interfacename">Iterator</a></span> з такою ж назвою, як і в цієї функції.
 </td>
</tr>


    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.key-examples">
  <h3 class="title">Приклади</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Приклад #1 <span class="function"><strong>key()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$array </span><span style="color: #007700">= array(<br />    </span><span style="color: #DD0000">'fruit1' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'apple'</span><span style="color: #007700">,<br />    </span><span style="color: #DD0000">'fruit2' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'orange'</span><span style="color: #007700">,<br />    </span><span style="color: #DD0000">'fruit3' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'grape'</span><span style="color: #007700">,<br />    </span><span style="color: #DD0000">'fruit4' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'apple'</span><span style="color: #007700">,<br />    </span><span style="color: #DD0000">'fruit5' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'apple'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// this cycle echoes all associative array<br />// key where value equals "apple"<br /></span><span style="color: #007700">while (</span><span style="color: #0000BB">$fruit_name </span><span style="color: #007700">= </span><span style="color: #0000BB">current</span><span style="color: #007700">(</span><span style="color: #0000BB">$array</span><span style="color: #007700">)) {<br />    if (</span><span style="color: #0000BB">$fruit_name </span><span style="color: #007700">== </span><span style="color: #DD0000">'apple'</span><span style="color: #007700">) {<br />        echo </span><span style="color: #0000BB">key</span><span style="color: #007700">(</span><span style="color: #0000BB">$array</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    }<br />    </span><span style="color: #0000BB">next</span><span style="color: #007700">(</span><span style="color: #0000BB">$array</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Поданий вище приклад
виведе:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">fruit1
fruit4
fruit5</pre>
</div>
    </div>
   </div>
  </p>
 </div>

 <div class="refsect1 seealso" id="refsect1-function.key-seealso">
  <h3 class="title">Прогляньте також</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.current.php" class="function" rel="rdfs-seeAlso">current()</a> - Return the current element in an array</span></li>
    <li><span class="function"><a href="function.next.php" class="function" rel="rdfs-seeAlso">next()</a> - Advance the internal pointer of an array</span></li>
    <li><span class="function"><a href="function.array-key-first.php" class="function" rel="rdfs-seeAlso">array_key_first()</a> - Gets the first key of an array</span></li>
    <li><a href="control-structures.foreach.php" class="link">foreach</a></li>
   </ul>
  </p>
 </div>

</div><?php manual_footer($setup); ?>