PHP中in_array()函数用法详解

in_array() 函数是PHP中常用的数组函数之一,用于搜索数组中是否存在指定的值。

语法

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

参数 描述
needle 必需。规定要在数组搜索的值。
haystack 必需。规定要搜索的数组。
strict 可选。如果该参数设置为 TRUE,则 in_array() 函数检查搜索的数据与数组的值的类型是否相同。

返回值: 如果在数组中找到值则返回 TRUE,否则返回 FALSE。

基础用法

你可以直接调用 in_array() 函数,传入必须的参数,如下所示:


$sites = array("Google", "Runoob", "Taobao", "Facebook");
 
if (in_array("Runoob", $sites))
{
    echo "找到匹配项!";
}
else
{
    echo "没有找到匹配项!";
}

运行结果:

找到匹配项!

使用严格模式

如果我们需要查找的值与数组中元素的类型和值都匹配时,可以使用严格模式。这种情况下,只有查找的值得类型和值都和数组元素相同时,才会返回true。


$arr = ['704','704A','704B','705A','705B'];
var_dump(in_array(705, $arr));// true
var_dump(in_array(705, $arr, true));// false

在上面的例子中,如果不适用严格模式,则"705A"和整数705被视为相等。但是,在严格模式下,则需要考虑类型,因此它们是不相等的。
如果不使用严格模式。则705就会被判定在数组中,其实是不在数组中的,会使用我们的程序出现BUG,所以在实际开发中,判断一个变量是不是在数组中,一定要注意是否需要判断这个变量的类型,负责则会使我们的系统出现问题。

你可能感兴趣的:(php,开发语言)