定义用法
in_array() 函数在数组中搜索给定的值。
语法
in_array(value,array,type)
参数描述
value 必需。规定要在数组搜索的值。
array 必需。规定要搜索的数组。
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
说明
如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。
如果没有在数组中找到参数,函数返回 false。
注释:如果 value 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。
举例
例子1
<?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people)) { echo "Match found"; } else { echo "Match not found"; } ?>
输出:
Match found
例子 2
<?php $people = array("Peter", "Joe", "Glenn", "Cleveland", 23); if (in_array("23",$people, TRUE)) { echo "Match found<br />"; } else { echo "Match not found<br />"; }if (in_array("Glenn",$people, TRUE)) { echo "Match found<br />"; } else { echo "Match not found<br />"; }if (in_array(23,$people, TRUE)) { echo "Match found<br />"; } else { echo "Match not found<br />"; } ?>
输出:
Match not found Match found Match found
注意事项
PHP 是弱类型语言 在使用IN_ARRAY函数时尽量带上第三个参数
var_dump(in_array(0,array('s','sss'),true)); // return false
var_dump(in_array(0,array('s','sss'))); // return true
var_dump(in_array(0,array(1,2,3))); // return false
从上面的三个函数可以看出来当
第一个
in_array(0,array('s','sss'),true)
返回是我们想要的值
使用
var_dump(in_array(0,array('s','sss')));
与
var_dump(in_array(0,array(1,2,3)));
返回ture明显不是我们要的值了。