PHP array_search():在数组中搜索给定的值并返回键名或索引
通过前面的学习我们知道,在数组中搜索一个指定的键值是否存在,可以使用《in_array() 函数》,在 PHP 中还有另外一个函数与 in_array() 函数功能相似但返回值有点不同的函数——array_search() 函数。
array_search() 函数可以在数组中搜索给定的值,如果成功则返回首个相应的键名,该函数的语法格式如下:
array_search() 函数如果找到了 $needle 则返回它的键,否则返回 False。
如果 $needle 在 $haystack 中出现不止一次,则仅会返回第一个匹配的键。若要返回所有匹配值的键,应该用 array_keys() 函数来代替。
【示例】使用 array_search() 函数搜索数组中的键名。
array_search() 函数可以在数组中搜索给定的值,如果成功则返回首个相应的键名,该函数的语法格式如下:
array_search($needle, $haystack[, $strict = false])
参数说明如下:- $needle:为要搜索的值,如果 $needle 为字符串类型,则在搜索时区分大小写;
- $haystack:为一个数组;
-
$strict:可选参数,可以为空,默认为 False。
- 如果 $strict 为 False,则 array_search() 在 $haystack 中搜索 $needle 时仅会比较值,不比较类型。
- 如果 $strict 为 True,则 array_search() 在 $haystack 中搜索 $needle 时会同时比较值和类型。
array_search() 函数如果找到了 $needle 则返回它的键,否则返回 False。
如果 $needle 在 $haystack 中出现不止一次,则仅会返回第一个匹配的键。若要返回所有匹配值的键,应该用 array_keys() 函数来代替。
【示例】使用 array_search() 函数搜索数组中的键名。
<?php $array = array( 'name' => '新宝库', 'url' => 'https://www.xinbaoku.com/php/', 'title' => 'PHP教程', 'pid' => 1111, 'level' => 1111, 'info' => array( 'id' => 1234, 'article' => 'array_search() 函数' ) ); echo '<pre>'; var_dump(array_search('1234', $array)); var_dump(array_search('PHP教程', $array)); var_dump(array_search('1111', $array, true)); var_dump(array_search(1111, $array, true)); ?>运行结果如下:
bool(false)
string(5) "title"
bool(false)
string(3) "pid"
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算