in_array可以用来检查一个值是否在给定的数组里面,从而进行判断流程,下面是in_array()的用法
如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。
如果没有在数组中找到参数,函数返回 false。
注释:如果 value 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。
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 ] ) 返回值为直或假
01.
$a
=
array
(
'1.10'
, 12.4, 1.13);
02.
03.
if
(in_array(
'12.4'
,
$a
, true)) {
04.
echo
"'12.4' found with strict checkn"
;
05.
}
06.
07.
if
(in_array(1.13,
$a
, true)) {
08.
echo
"1.13 found with strict checkn"
;
09.
}