• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

php in_array函数引发的一些思想

PHP admin 1年前 (2018-06-08) 10次浏览 未收录 0个评论

今天突然想到php中的in_array函数有个其怪的用法,下面我们来看看这个用法,有需要的朋友简单的参考一下,代码如下:

$a=array(“1,2,3″,”4”);

if(in_array(1,$a)){

echo “条件成立”;

}

这个条件果然是成立的,按照我的思考逻辑上边的那个条件只有在参数1的值为”1,2,3“和为4的时候才成立,但是奇怪的是他居然成立了,战地随即测试了如下情况,代码如下:

$a=array(“a,2,3″,”4”);

if(in_array(‘a’,$a)){

echo “条件不成立”;

}

这个是不成立的,在第一个测试用例下,如果把参数1写成’1’条件也是不成立的,得出的结论是:

在PHP中如果第一个参数为数字——不加引号的数字啊,第二个数组参数包含有以该数字开头的字符串的话不管第一个参数是否为第二个参数的完整元素,都会返回真值,也就是说,in_array函数并非每次都是按照我的思考逻辑进行整个元素匹配,还是我对数据类型认识的不够清楚呢?

与此同时,还发现如果你的数组的第一个元素为0的时候,也会出现问题,看如下情况,代码如下:

$a=array(0,”m”);

if(in_array(‘mc6’,$a))

{

echo “=====”;

}//开源代码phpfensi.com


39MO , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接:php in_array函数引发的一些思想
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址