做项目时发现一个问题 代码如下
说为何会返回是true,我们都知道in_array其实只是判断该字符串是否存在于数组value之中。于是我思考了下,会不会是因为在判断值相等时候将字符串‘sh’==0来做了比较呢?让同事将值改成1后,代码如下:
果然预期返回了false。为了一探究竟,于是自己写了各种小demo去验证
1.情况一
$test = 'a';
$array = array('a', 'b', 'c');
if (in_array($test, $array)) {
echo 'in array';
} else {
echo 'no';
}
//output: in array
2.情况二
$test = 'other value';
$array = array(