php中IN_ARRAY函数的注意事项

发布时间:2021-01-07编辑:脚本学堂
本文介绍下,在 php中使用IN_ARRAY函数时的一些注意事项,注意了这些,对于在程序中in_array的用法,会更加得心应手。感兴趣的朋友参考下。

本节内容:
php IN_ARRAY函数

php是弱类型语言,php进行比较时,最好使用strict方法。
这样不但比较两者的值是否一直,还会比较两者的类型是否一直。

另外,在 控制结构比较两个数值是否一直时,也应该尽量使用 === 来代替 ==(需要根据具体的业务逻辑选用)。

例子:
 

复制代码 代码示例:
var_dump(in_array(0, array('s' ));
 

结果:bool(true)。

因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php 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。

就介绍这些吧,自己在学习中遇到的一些问题,也希望与遇到类似问题的朋友共享。