在 PHP 中,数组的每个元素都是由键值对组成,通过元素的键来访问对应键的值。那么我们要如何通过数组元素的值来获取该元素所对应的键名呢?
提示:“索引”和“键名”指的是同一样东西,“索引”多指数组数字形式的下标。
使用 PHP 中的 array_key() 函数可以获取数组中的部分或所有键名,该函数语法格式如下:
array_keys($array [, $search_value = null [, $strict = false]])
参数说明如下:
- $array:必选参数,为待操作的数组;
- $search_value:可选参数,如果参数为空,则函数会返回数组中的所有键名,如果指定了该参数,则函数就只会返回值为 $search_value 的键名;
-
$strict:可选参数,判断在搜索的时候是否使用严格模式,$strict 默认为 false,也就是非严格模式,在搜索时只比较类型,不比较类型,若将 $strict 设置为 true,也就是严格模式,在搜索时同时比较值和类型,等价于
===
。
array_key() 函数会以数组形式返回得到的数组键名。
【示例】使用 array_key() 函数获取数组的键名。
<?php $array = array( 'name' => 'C语言中文网', 'url' => 'http://c.biancheng.net/php/', 'title' => 'PHP教程', 'info' => array( 'id' => 1234, 'article' => 'array_keys() 函数' ) ); echo '<pre>'; print_r(array_keys($array)); print_r(array_keys($array,'PHP教程')); //非严格模式 print_r(array_keys($array,'php教程',true)); //严格模式 ?>
运行结果如下:
Array
(
[0] => name
[1] => url
[2] => title
[3] => info
)
Array
(
[0] => title
)
Array
(
)
通过运行结果可以看出,array_keys() 函数仅适用于一维数组,对于多维数组中第一维度以外的其它维度的键名则无法获取。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/23855.html