2015,侬好!关于if(in_array())的判断

摘要in_array这个函数吧,判断某个值是否存在于指定数组中,还是比较好用的,需要注意的是in_array返回的是布尔值true或false。

新年好啊!好像好久好久没更新了。过去的2014,很是难捱,问起最大的收货,那就是有了宝贝女儿,跟我一个模子,么么:)

说下in_array这个函数吧,判断某个值是否存在于指定数组中,还是比较好用的,需要注意的是in_array返回的是布尔值true或false。

错误写法:if(!in_array($v,$Array) ){}

正确写法:if(in_array($v,$Array) == false){}

附:in_array函数说明

bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) 返回值为直或假

var_dump(in_array(0, array('s' ));
这句话的结果是bool(true)。
因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据 manual 中“comparison operators” 一章的说明可知,number 和string进行
比较的时候,会先将string类型首先转化为number,然后再进行比较操作。 's'转化为number的结果为0,而0 == 0 的结果是true,所以in_array(0, array('s', 'ss'))的结果也是true
如果把in_array 的第三个参数strict设置为 true,比较的时候 就会判断值和类型是否都相当。如果都相当的话,才会返回true,否则返回false.
关于php in_array语法
bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) 返回值为直或假
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
echo "'12.4' found with strict checkn";
}

if (in_array(1.13, $a, true)) {
echo "1.13 found with strict checkn";
}

给我留言

图片 表情