$a=array("1,2,3","4"); if(in_array(1,$a)){ echo "条件成立"; }
$a=array("a,2,3","4"); if(in_array('a',$a)){ echo "条件不成立"; }
在PHP中如果第一个参数为数字――不加引号的数字啊,第二个数组参数包含有以该数字开头的字符串的话不管第一个参数是否为第二个参数的完整元素,都会返回真值,也就是说,in_array函数并非每次都是按照我的思考逻辑进行整个元素匹配,还是我对数据类型认识的不够清楚呢?
与此同时,还发现如果你的数组的第一个元素为0的时候,也会出现问题,看如下情况,代码如下:
$a=array(0,"m"); if(in_array('mc6',$a)) { echo "====="; }
感兴趣的朋友可以测试运行一下本文所述实例,相信会有新的收获!
希望本文所述对大家的php程序设计有所帮助。