當前位置: 首頁> 最新文章列表> 如何使用PHP array_keys()提取數組的所有鍵名?使用示例分析

如何使用PHP array_keys()提取數組的所有鍵名?使用示例分析

gitbox 2025-08-25

<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">"开始文章内容展示"</span></span><span>; </span><span><span class="hljs-meta">?></span></span><span> <hr> 如何使用PHP </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>()提取数组的所有键名?使用示例分析 在PHP开发中,数组是一种非常重要的数据结构。经常需要对数组的键名进行操作,比如提取数组中所有的键名,方便后续处理。PHP内置了一个非常实用的函数——`</span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>()`,专门用来提取数组的键名。 </span><span><span class="hljs-comment">### 一、array_keys()函数简介</span></span><span> `</span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>()`函数的作用是返回输入数组中所有的键名组成的新数组。其基本语法如下: ```php </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$search_value</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$strict</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>) </span></span>

  • :必填,輸入的數組。

  • $search_value (可選):如果指定了該值,函數只返回值等於該值的鍵名。

  • $strict (可選):是否嚴格比較(包括類型),默認false。

二、基本用法示例

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$person</span></span><span> = [
    </span><span><span class="hljs-string">"name"</span></span><span> =&gt; </span><span><span class="hljs-string">"小明"</span></span><span>,
    </span><span><span class="hljs-string">"age"</span></span><span> =&gt; </span><span><span class="hljs-number">25</span></span><span>,
    </span><span><span class="hljs-string">"gender"</span></span><span> =&gt; </span><span><span class="hljs-string">"男"</span></span><span>
];

</span><span><span class="hljs-variable">$keys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

輸出結果:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; name
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; age
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; gender
)
</span></span>

可以看到, array_keys()返回了數組$person所有的鍵名,組成了一個索引數組。

三、指定值提取對應鍵名

array_keys()還支持第二個參數,傳入一個值後,只返回該值對應的鍵名。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [
    </span><span><span class="hljs-string">"a"</span></span><span> =&gt; </span><span><span class="hljs-number">100</span></span><span>,
    </span><span><span class="hljs-string">"b"</span></span><span> =&gt; </span><span><span class="hljs-number">200</span></span><span>,
    </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </span><span><span class="hljs-number">100</span></span><span>,
    </span><span><span class="hljs-string">"d"</span></span><span> =&gt; </span><span><span class="hljs-number">300</span></span><span>
];

</span><span><span class="hljs-variable">$keys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

輸出:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; a
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; c
)
</span></span>

這裡array_keys()返回了所有值為100的鍵名。

四、嚴格模式的使用

當需要區分類型時,可以開啟嚴格模式:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [
    </span><span><span class="hljs-string">"a"</span></span><span> =&gt; </span><span><span class="hljs-string">"100"</span></span><span>,
    </span><span><span class="hljs-string">"b"</span></span><span> =&gt; </span><span><span class="hljs-number">100</span></span><span>,
    </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </span><span><span class="hljs-number">200</span></span><span>
];

</span><span><span class="hljs-variable">$keys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

輸出:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; b
)
</span></span>

由於嚴格模式下不進行類型轉換,只有值類型和值都相同的鍵名才會被返回。

五、總結

  • array_keys()用於提取數組中所有鍵名,返回一個包含鍵名的新數組。

  • 可以通過第二個參數限制返回指定值對應的鍵名。

  • 第三個參數開啟嚴格比較,區分類型。

  • 該函數在數據篩選、重組數組結構時非常有用。

掌握array_keys() ,可以讓你在PHP數組操作中更靈活高效,提升代碼質量。

<hr> <?php // 文章結束,後續無內容?>
 <span></span>