PHP中in_array函数用法分析
什么是in_array函数?
in_array()函数是PHP内置函数之一,用来检查一个值是否存在于数组中。它可以帮助我们快速地判断一个元素是否在一个数组中存在,返回值为布尔类型。通俗地说,in_array()函数就是用来判断一个值是否在数组中存在的。
下面我们来看一下in_array()函数的具体语法:
in_array($needle, $haystack, $strict);
参数解释如下:
- $needle:必需,规定要查找的值
- $haystack:必需,规定要搜索的数组
- $strict:可选,如果该参数的值为TRUE,则in_array()函数在搜索时会检查类型(即不仅仅检查值是否相等),默认为FALSE。
in_array函数的返回值
in_array()函数返回值为布尔类型。如果指定的值 $needle 存在于数组中 $haystack,则返回TRUE,否则返回FALSE。
用法示例
示例1
判断一个值是否在一个普通数组中:
$fruits = array("apple", "banana", "orange");
if (in_array("apple", $fruits)) {
echo "苹果已经存在于数组中";
} else {
echo "苹果不存在于数组中";
}
在上面的例子中,如果 $fruits 数组中存在 "apple" 这个元素,那么就会输出 "苹果已经存在于数组中",否则输出 "苹果不存在于数组中"。
示例2
判断一个值是否在一个关联数组中:
$people = array(
"Peter" => "35",
"Ben" => "37",
"Joe" => "43"
);
if (in_array("35", $people)) {
echo "35已经存在于数组中";
} else {
echo "35不存在于数组中";
}
在上面的例子中,我们检查 "35" 是否在 $people 数组中存在。但是,在关联数组中,我们需要使用 array_values() 函数,将关联数组转化为普通数组,以便能够进行检查。
我们执行上面的代码,会发现输出的结果是 "35不存在于数组中"。为什么呢?因为 in_array() 函数默认情况下不检查元素的类型,而 $people 数组中的值都是字符串类型,而我们通过 in_array() 函数搜索的元素是一个整型,所以判断不通过。但是,如果我们将 in_array() 函数的第三个参数 $strict 设置成 TRUE,那么它就会检查元素的类型,判断准确率就会更高:
// 开启严格检查模式
if (in_array("35", array_values($people), true)) {
echo "35已经存在于数组中";
} else {
echo "35不存在于数组中";
}
如果您执行上面的代码,会发现输出的结果是 "35已经存在于数组中"。
总结
在PHP编程中,我们经常会遇到需要验证某个值是否存在于一个数组中的情况。本文主要介绍了PHP中的 in_array() 函数的使用方法,共包括函数概念、语法、返回值、用法示例等内容。当你碰到类似的情况时,采用in_array() 函数进行判断,无疑可以为你的代码判断处理加上一份高效而精确的保障。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php中in_array函数用法分析 - Python技术站