當前位置: 首頁> 最新文章列表> key() 函數是什麼?它在PHP數組遍歷中起什麼關鍵作用?

key() 函數是什麼?它在PHP數組遍歷中起什麼關鍵作用?

gitbox 2025-09-29
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"PHP 教程示例開始…\n"</span></span><span>;
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 文章正文開始</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>

<h1></span><span><span class="hljs-title function_ invoke__">key</span></span><span>() 函數是什麼?它在PHP數組遍歷中起什麼關鍵作用?</h1>

<p>在 PHP 中,<code></span><span><span class="hljs-title function_ invoke__">key</span></span><span>()
  • 如果數組內部指針指向有效元素, key()返回當前元素的鍵名。
  • 如果數組為空或者指針超出數組範圍, key()返回NULL

2 . key () 在數組遍歷中的關鍵作用

在PHP 中遍歷數組,通常使用foreachwhile搭配current()next()key()等函數。 key()的作用是告訴我們當前指針指向的鍵,這在以下場景中非常重要:

  1. 同時訪問鍵和值:當你使用while循環遍歷數組時, key()可以獲取當前元素的鍵,而current()獲取值。
  2. 動態操作數組:在某些算法中,你可能需要根據鍵名進行判斷或刪除特定元素, key()提供了直接的訪問方式。
  3. 避免額外變量:如果你不使用key() ,可能需要額外維護一個計數器來表示索引,這在關聯數組中尤其繁瑣。

3 . 示例代碼
&lt;?php
</span><span><span class="hljs-variable">$fruits</span></span><span> = [
    </span><span><span class="hljs-string">"apple"</span></span><span> =&gt; </span><span><span class="hljs-number">5</span></span><span>,
    </span><span><span class="hljs-string">"banana"</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>,
    </span><span><span class="hljs-string">"orange"</span></span><span> =&gt; </span><span><span class="hljs-number">7</span></span><span>
];

</span><span><span class="hljs-title function_ invoke__">reset</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>); </span><span><span class="hljs-comment">// 將內部指針重置到數組開頭</span></span><span>

</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-title function_ invoke__">key</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>) !== </span><span><span class="hljs-literal">null</span></span><span>) {
    </span><span><span class="hljs-variable">$fruitName</span></span><span> = </span><span><span class="hljs-title function_ invoke__">key</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>);     </span><span><span class="hljs-comment">// 獲取當前元素的鍵名</span></span><span>
    </span><span><span class="hljs-variable">$fruitCount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">current</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>); </span><span><span class="hljs-comment">// 獲取當前元素的值</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"水果: <span class="hljs-subst">$fruitName</span></span></span><span>, 數量: </span><span><span class="hljs-subst">$fruitCount</span></span><span>\n";
    </span><span><span class="hljs-title function_ invoke__">next</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>); </span><span><span class="hljs-comment">// 將內部指針移動到下一個元素</span></span><span>
}
?&gt;

輸出結果為:

水果: apple, 數量: <span><span>5</span></span><span>
水果: banana, 數量:</span> <span><span>3</span></span><span>
水果: orange, 數量:</span> <span><span>7</span></span><span>
</span><p>在這個例子中, <span class="fun">key()</span>讓我們能夠獲取每個水果的名稱,而<span class="fun"><a href="/zh-tw/php/current.html" target="_blank">current()</a></span>提供數量信息,兩者配合使用實現了完整的數組遍歷。</p><h2> <span><span>4</span></span> <span>. 總結</span><p><span class="fun">key()</span>是PHP 數組操作中一個輕量卻關鍵的函數。它可以:</p><ul><li>獲取當前數組指針所指向的鍵名</li><li>方便在循環中同時訪問鍵和值</li><li>在動態操作關聯數組時提供必要信息</li></ul><p>掌握<span class="fun">key()</span>與<span class="fun"><a href="/zh-tw/php/current.html" target="_blank">current()</a></span> 、 <span class="fun"><a href="/zh-tw/php/next.html" target="_blank">next()</a></span>等指針操作函數的組合使用,是PHP 高級數組操作的基礎。</p> <span><span><?php</span></span><span>
</span><span><span>// 文章結束</span></span><span>
</span><span><span>?></span></span><span>
</span></span></div></div>
  • 相關標籤:

    key