共计 1092 个字符,预计需要花费 3 分钟才能阅读完成。
array_search()
函数在 PHP 中用于搜索给定数组中的值,并返回该值第一次出现的键。若找到值,则返回相应的键。如果没有找到值,则返回 false
。这个函数对于查找数组中是否存在某个值,以及该值对应的键是什么非常有用。
基本语法
mixed array_search (mixed $needle , array $haystack [, bool $strict = FALSE] )
- $needle 是你想要在
$haystack
数组中搜索的值。 - $haystack 是目标数组,即你想要从中搜索指定值的数组。
- $strict(可选参数)如果设置为
true
,则array_search()
也会检查$needle
和找到的元素的数据类型是否相同。
返回值
- 如果找到了值,
array_search()
返回它的键。请注意,可能的返回值包括像 0 或其他“假”的值,所以你应该使用恒等(===
)操作符而不是等于(==
)操作符来检查函数的返回值。 - 如果没找到值,返回
false
。
示例
查找值并获取其键
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2
echo $key;
$key = array_search('red', $array); // $key = 1
echo $key;
使用严格模式
$array = array('apple', 'orange', 10, 'banana', '10');
// 非严格模式:找到字符串 '10' 的位置(自动类型转换)$key = array_search('10', $array); // $key = 2
echo $key;
// 严格模式:精确匹配字符串 '10'
$keyStrict = array_search('10', $array, true); // $keyStrict = 4
echo $keyStrict;
注意事项
- 在使用
array_search()
函数时,如果数组包含多个相同的值,则只返回第一个匹配值的键。 - 因为
false
可能是一个有效的键值,所以建议使用恒等比较(===
)来判断array_search()
的返回结果是否确实是false
,从而区分查找失败与查找的键值为false
的情况。
丸趣 TV 网 – 提供最优质的资源集合!
正文完