in_array要注意问题

in_array函数在php开发的时候很常用,但是在使用过程中也会遇到难以调试的问题。比如 $arr = array(0,1,2,‘b’),这时你测试 echo in_array(1, $arr) -> 1

但是 echo in_array('a', $arr) -> ?  这时输出0还是1呢? 答案是1, 这是为什么呢?原来php的自动类型转换是由string->int。而在string 'a' 转换为int类型就是0.所以会出现可能不是你所希望的结果。

你可能感兴趣的:(PHP,String,测试)