php语言中,在一个数组中搜索一个指定的键值是否存在,大家都经常使用 in_array() 函数,那么今天飞鸟慕鱼博客就来介绍一个与 in_array() 函数功能相似但返回值有点不同的函数 array_search()。
php array_search() 函数介绍
array_search():函数在数组中搜索指定的键值,有则返回对应的键名,否则返回false.
语法:array_search(value,array,strict)
参数:
value:必需,要搜索的值
array:必需,被搜索的数组
strict:可选,默认 false,如设置为 true,则搜索数据类型和值一致的元素
php array_search() 函数使用方法示例
1、在php数组中,搜索指定的元素<?php
$arr = array('Name'=>'飞鸟慕鱼博客','Host'=>'http://feiniaomy.com');
//搜索一个存在的值
$key = array_search('飞鸟慕鱼博客',$arr);
var_dump($key);
//搜索一个不存在的值
$key2 = array_search('baidu.com',$arr);
var_dump($key2);
?>
运行结果:string(4) "Name"
bool(false)
说明:
(1),如果php数组中存在被搜索的值,则返回对应的键名
(2)、如果搜索的元素不存在,array_search() 返回 false
2、array_search() 数据类型精确匹配查找
把 array_search() 函数的第三个参数,设置为 true,则在php数组中搜索指定的键值时,会配置值的数据类型,可以达到精确查找的目的
例:
php语言代码:<?php
$arr = array('a'=>'1','b'=>'2','c'=>'3');
//搜索字符串类型的 2
$key1 = array_search('2',$arr,true);
var_dump($key1);
//搜索数组类型的 2
$key2 = array_search(2,$arr,true);
var_dump($key2);
?>
运行结果:string(1) "b"
bool(false)
补充说明:
array_search() 与 in_array() 两个函数,虽然在使用上与功能上有很大的相似之处,但它们之间还是有些区别的。
1、array_search()函数,在数组中搜索到指定的键值后,会返回相对应的键名
2、in_array()函数,在数组中搜索到指定的键值后,会返回 TRUE
3、array_search() 与 in_array() ,在搜索不到指定键值时,都会返回 FALSE