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 ] ) 返回值为直或假 (责任编辑:admin) |