函数名称:array_search()
功能:在数组中搜索给定的值,并返回对应的键名。
用法: array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed
参数:
- $needle: 要搜索的值
- $haystack: 要搜索的数组
- $strict(可选): 是否进行严格的比较,默认为false(非严格比较)
返回值:
- 如果找到了匹配的键名,则返回对应的键名(字符串或数字)
- 如果未找到匹配的值,则返回false(注意:返回值的类型是mixed)
示例:
<?php
$fruits = array("apple", "banana", "orange", "grape");
$key = array_search("banana", $fruits);
echo "The key of 'banana' is: " . $key; // 输出:The key of 'banana' is: 1
$key = array_search("pear", $fruits);
echo "The key of 'pear' is: " . var_export($key, true); // 输出:The key of 'pear' is: false
$numbers = array(2, 4, 6, 8, 10);
$strictKey = array_search(6, $numbers, true);
echo "The key of 6 (using strict comparison) is: " . $strictKey; // 输出:The key of 6 (using strict comparison) is: 2
$strictKey = array_search("6", $numbers, true);
echo "The key of '6' (using strict comparison) is: " . var_export($strictKey, true); // 输出:The key of '6' (using strict comparison) is: false
?>
以上示例中,首先创建了一个包含水果的数组 $fruits
和一个包含数字的数组 $numbers
。然后,通过调用 array_search()
函数来搜索指定的值。
在第一个示例中,搜索了值为 "banana" 的元素,返回了该元素的键名 1,并输出了相应的结果。
在第二个示例中,搜索了值为 "pear" 的元素,由于该元素不在数组中,返回了 false,并通过 var_export()
函数将结果转为字符串输出。
在第三个示例中,使用了严格的比较模式,搜索了值为 6 的元素,返回了该元素的键名 2,并输出了相应的结果。
在最后一个示例中,同样使用了严格的比较模式,但搜索的值为字符串 "6",由于该元素不在数组中且严格模式下类型也不匹配,返回了 false,并通过 var_export()
函数将结果转为字符串输出。