【发布时间】:2014-07-07 07:01:38
【问题描述】:
$arrValue = array('first', 'second');
$ret = in_array(0, $arrValue);
var_dump($ret);
var_dump($arrValue);
上面的例子给出了以下结果:
bool(true)
array(2) {
[0]=> string(5) "first"
[1]=> string(6) "second"
}
为什么in_array() 将针 0 匹配到任何给定的干草堆?
【问题讨论】:
-
查看第一条评论:nl1.php.net/in_array 在
in_array函数中添加第三个参数true将检查设置为严格。 -
0 == '第一'; 0 !== '第一';
-
你几乎必须对 in_array 使用严格相等,这是我得出的结论,否则你会遇到这样的情况: echo in_array('test',['fail' =>真的]) ? '哎呀':''