在PHP中,数据会自动转换类型后再进行比较。...'c'])
// 返回int(0),也就是第一个值的下标
0 == 'abc'
// 返回bool(true),也就相当于相等
这两个表达式都返回true。...那怎么会返回true呢?
1 类型转换
原因就在于,在比较前,PHP做了类型转换。...用严格比较,如下,
in_array(0, ['a', 'b', 'c'], true)
// 返回false
array_search(0, ['a', 'b', 'c'], true)...//返回false
4 数组中有true
另外一个看起来比较奇怪的现象:
in_array('a', [true, 'b', 'c'])
// 返回bool(true),相当于数组里面有字符