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));// truevar_dump(in_array(705, $arr, true));// false
在上面的例子中,如果不适用严格模式,则"705A"和整数705被视为相等。但是,在严格模式下,则需要考虑类型,因此它们是不相等的。
如果不使用严格模式。则705就会被判定在数组中,其实是不在数组中的,会使用我们的程序出现BUG,所以在实际开发中,判断一个变量是不是在数组中,一定要注意是否需要判断这个变量的类型,负责则会使我们的系统出现问题。
来源地址:https://blog.csdn.net/weixin_44888397/article/details/132385064