PHP IN_ARRAY 函数使用注意事项_PHP
程序员文章站
2022-05-25 18:05:20
...
另外,我们在 控制结构比较两个数值是否一直的时候,也应该尽量使用 === 来代替 ==(当然,这个也根据具体的业务逻辑选用比较合适的)。
小弟来解释下 为什么
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.
仅此为记。
小弟来解释下 为什么
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.
仅此为记。
推荐阅读
-
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
-
php 使用expat方式解析xml文件操作示例
-
PHP的new static和new self的区别与使用
-
php使用filter_var函数判断邮箱,url,ip格式示例
-
PHP 7.4中使用预加载的方法详解
-
PHP使用 Pear 进行安装和卸载包的方法详解
-
PHP图片等比例缩放生成缩略图函数分享
-
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
-
PHP数据库万能引擎类adodb配置使用以及实例集锦
-
php识别微信客户端并且使用html静态页面引导用户使用浏览器打开这个页面(代码实现教程)