另外,我们在 控制结构比较两个数值是否一直的时候,也应该尽量使用 === 来代替 ==(当然,这个也根据具体的业务逻辑选用比较合适的)。
小弟来解释下 为什么
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.
仅此为记。
0
0
相关文章
如何在类中通过方法累积字符串与数组值到单个属性数组
如何使用 PHP 正则表达式精确捕获起始括号及其后连续单词
如何为 MySQL 数据库动态数据创建带搜索功能的下拉菜单
PHP 中 switch 语句未处理默认情况导致变量未定义错误的解决方案
PHP 中 switch 语句因未定义变量导致页面首次加载报错的解决方案
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具









