在数组中搜索键值 "red",并返回它的键名:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>
定义和用法
array_search() 函数用于在数组中搜索某个值,并返回对应的键名。如果找不到该值,则返回 false。
语法
array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false
参数 | 描述 |
---|---|
$needle | 必需。规定在数组中搜索的键值。 |
$haystack | 必需。规定被搜索的数组。 |
$strict | 可选,默认是 false,只比较值,不比较类型。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:truefalse - 默认如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。 |
技术细节
返回值: | 如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。 |
---|---|
PHP 版本: | 4.0.5+ |
更新日志: | 如果向函数传递无效的参数,函数返回 NULL(这个适用于自 PHP 5.3.0 起的所有的 PHP 函数)。 自 PHP 4.2.0 起,如果搜索失败,该函数返回 FALSE,而不是 NULL。 |
更多实例
严格模式
<?php
$numbers = array(1, "2", 3);
$key = array_search(2, $numbers); // 不启用严格模式,返回键名 1
$key_strict = array_search(2, $numbers, true); // 启用严格模式,返回 false
?>
在数组中搜索键值 5,并返回它的键名(注意 ""):
<?php
$a=array("a" => "5", "b" => 5, "c" => "5");
echo array_search(5,$a,true);
?>
分享笔记