如何把in_array 的第三个参数strict设置为 true

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把in_array 的第三个参数strict设置为 true相关的知识,希望对你有一定的参考价值。

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 in_array语法

bool in_array2881064151 ( mixed $needle , array $haystack [, bool $strict ] ) 返回值为直或假

<?php
$a = array(‘1.10‘, 12.4, 1.13);

if (in_array(‘12.4‘, $a, true)) {
    echo "‘12.4‘ found with strict checkn";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 found with strict checkn";
}
?>







以上是关于如何把in_array 的第三个参数strict设置为 true的主要内容,如果未能解决你的问题,请参考以下文章

php数组

php查找数组元素,提速

PHP如何检查一个数组内是不是存在指定元素

php in_array函数的使用

函数 in_array()

代码审计学习01-in_array() 函数缺陷