首页  >  文章  >  后端开发  >  php怎么查询数组的key(键名)

php怎么查询数组的key(键名)

青灯夜游
青灯夜游原创
2022-08-18 19:22:047393浏览

3种方法:1、用key()函数,可查询当前数组元素的key(键名),语法“key(数组)”。2、用array_keys()函数,可以获取数组的全部key,语法“array_keys(数组)”,也可获取指定值的key,语法“array_keys(数组,值,是否用严格模式)”。3、用array_search(),可查询指定值的key,语法“array_search(值,数组)”。

php怎么查询数组的key(键名)

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php查询数组key(键名)的3种方法

方法1:使用key()函数查询

key() 函数可以返回数组内部指针当前指向元素的键名,即获得数组中当前元素的键名。

每个 PHP 数组内部都有一个指针,该指针指向数组的某个元素,这个被指向的元素就是“当前元素”。

默认

<?php
$info = array(
    &#39;name&#39; => &#39;中文网&#39;,
    &#39;url&#39; => &#39;http&#39;,
    &#39;age&#39; => 8,
    &#39;desc&#39; => &#39;一个学习编程的网站&#39;,
    &#39;course&#39; => &#39;PHP教程&#39;
);
for ($i=0,$len=count($info); $i<$len; $i++) {
    echo key($info) . "<br/>";  //输出内部指针指向的当前元素的键
    next($info);  // 将数组内部指针向后移动一位
}
?>

1.png

方法2:使用array_keys()函数查询

array_key() 函数可以获取数组中的部分或所有键名(下标),该函数语法格式如下:

array_keys($array,$search_value,$strict)

参数说明如下:

  •         $array:必选参数,为待操作的数组;
  •         $search_value:可选参数,如果参数为空,则函数会返回数组中的所有键名,如果指定了该参数,则函数就只会返回值为 $search_value 的键名;
  •         $strict:可选参数,判断在搜索的时候是否使用严格模式,$strict 默认为 false,也就是非严格模式,在搜索时只比较类型,不比较类型,若将 $strict 设置为 true,也就是严格模式,在搜索时同时比较值和类型,等价于===

array_key() 函数会以数组形式返回得到的数组键名。

示例1:全部键名

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr));
?>

1.png

示例2:指定值的键名

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr,80));
var_dump(array_keys($arr,"80"));
var_dump(array_keys($arr,"80",true));
?>

2.png

方法3:使用array_search() 函数查询

array_search() 函数可以在数组中搜索指定键值,并返回对应的键名。

array_search(value,array,strict)
参数 描述
value 必需。规定在数组中搜索的键值。
array 必需。规定被搜索的数组。
strict 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
  • true
  • false - 默认
如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。
  • 返回值:如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。    

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array("id"=>1,"name"=>"李华","age"=>23);
var_dump($arr);
echo "指定值&#39;李华&#39;对应的键名为:".array_search("李华",$arr);
?>

1.png

推荐学习:《PHP视频教程

以上是php怎么查询数组的key(键名)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn