本篇内容介绍了“php如何查询指定值是数组中的第几个元素”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
查询步骤:1、利用array_values()函数重置数组键名,将数组转为索引数组,语法“array_values(数组)”;2、利用array_search()函数获取指定值在索引数组中的位置(索引值+1)即可,语法“array_search("指定值",索引数组)+1”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在PHP中,可以使用array_values()和array_search()函数来查询指定值是数组中的第几个元素。
实现步骤:
步骤1:利用array_values()函数将数组转为索引数组
array_values()函数返回包含数组中所有的值的数组。
简单来说,该函数可以重置数组键名,将键名转为从0开始的索引值。
<?php header('content-type:text/html;charset=utf-8'); $arr=array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd","e"=>"ee"); var_dump($arr); $values=array_values($arr); var_dump($values); ?>
步骤2:利用array_search()函数获取指定值在索引数组中的位置
array_search() 函数搜索指定键值,并返回对应的键名,即返回对应的索引值。
因为索引值是从0开始计数的,和准确位置值之间差值为1;所以将索引值+1
即可查询指定值是数组中的第几个元素。
<?php header('content-type:text/html;charset=utf-8'); $arr=array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd","e"=>"ee"); var_dump($arr); $values=array_values($arr); var_dump($values); $index=array_search("bb",$values,true)+1; echo "指定值是数组中的第 $index 个元素"; ?>
将关键代码封装一下:
<?php header('content-type:text/html;charset=utf-8'); function f($a,$s){ $v=array_values($a); $index=array_search($s,$v,true)+1; echo "指定值 $s 是数组中的第 $index 个元素<br>"; } $arr=array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd","e"=>"ee"); var_dump($arr); f($arr,"bb"); f($arr,"aa"); f($arr,"dd"); ?>
说明:
array_search() 函数在数组中搜索某个键值,并返回对应的键名。
array_search(value,array,strict)
参数 | 描述 |
---|---|
value | 必需。规定在数组中搜索的键值。 |
array | 必需。规定被搜索的数组。 |
strict | 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
|
返回值:如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。
“php如何查询指定值是数组中的第几个元素”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。