直接上代码:

echo in_array('', array(0)) ? 1 : 0;   // 结果:1
echo in_array(null, array(0)) ? 1 : 0; // 结果:1
echo in_array(false, array(0)) ? 1 : 0; // 结果:1

对于空字符的匹配,结果并不是我们想要的。

所以聪明的同学一定想到了,我们应该要强制类型匹配,类似双等号到三等号的判定才可以。

in_array函数其实是有第三个参数的,该参数为true即可对数据类型做匹配,例如:

echo in_array('', array(0), true) ? 1 : 0;   // 结果:0
echo in_array(null, array(0), true) ? 1 : 0; // 结果:0
echo in_array(false, array(0), true) ? 1 : 0; // 结果:0

以上经验整理自:https://www.jb51.net/article/92426.htm

Related Posts: PHP in_array函数 空字符类型的匹配 :

avatar