<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"><?php</span></span><span>
</span><span><span class="hljs-variable">$person</span></span><span> = [
</span><span><span class="hljs-string">"name"</span></span><span> => </span><span><span class="hljs-string">"小明"</span></span><span>,
</span><span><span class="hljs-string">"age"</span></span><span> => </span><span><span class="hljs-number">25</span></span><span>,
</span><span><span class="hljs-string">"gender"</span></span><span> => </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">?></span></span><span>
</span></span>
输出结果:
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => name
[</span><span><span class="hljs-meta">1</span></span><span>] => age
[</span><span><span class="hljs-meta">2</span></span><span>] => gender
)
</span></span>
可以看到,array_keys()返回了数组$person所有的键名,组成了一个索引数组。
array_keys()还支持第二个参数,传入一个值后,只返回该值对应的键名。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [
</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-number">100</span></span><span>,
</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">200</span></span><span>,
</span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">100</span></span><span>,
</span><span><span class="hljs-string">"d"</span></span><span> => </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">?></span></span><span>
</span></span>
输出:
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => a
[</span><span><span class="hljs-meta">1</span></span><span>] => c
)
</span></span>
这里array_keys()返回了所有值为100的键名。
当需要区分类型时,可以开启严格模式:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [
</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-string">"100"</span></span><span>,
</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">100</span></span><span>,
</span><span><span class="hljs-string">"c"</span></span><span> => </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">?></span></span><span>
</span></span>
输出:
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => b
)
</span></span>
由于严格模式下不进行类型转换,只有值类型和值都相同的键名才会被返回。
array_keys()用于提取数组中所有键名,返回一个包含键名的新数组。
可以通过第二个参数限制返回指定值对应的键名。
第三个参数开启严格比较,区分类型。
该函数在数据筛选、重组数组结构时非常有用。
掌握array_keys(),可以让你在PHP数组操作中更灵活高效,提升代码质量。
<hr> <?php // 文章结束,后续无内容 ?><span></span>
相关标签:
array_keys