php中in_array函数用法探究

yipeiwu_com6年前PHP代码库

本文较为深入的探究了php中in_array函数用法。分享给大家供大家参考。具体如下:

今天突然想到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 "=====";
}

感兴趣的朋友可以测试运行一下本文所述实例,相信会有新的收获!

希望本文所述对大家的php程序设计有所帮助。

相关文章

解析php中eclipse 用空格替换 tab键

本人用eclipse进行PHP项目开发,根据公司开发规范,要用4个空格替换掉tab键,在网上搜了好多,都不太全面,现在将详细的配置陈列如下:首先进入首选项:窗口(windows)->...

php封装的表单验证类完整实例

本文实例讲述了php封装的表单验证类。分享给大家供大家参考,具体如下: <?php //封装一个表单验证类 //中文验证、邮箱验证、电话号码、手机、QQ、身份证、(由字...

IP攻击升级,程序改进以对付新的攻击

不过最近几天突然糟糕了起来,有90%的攻击已经没法拦截,请看下图一天的统计: IP攻击及开始时间 攻击次数 地点 备注 125.165.1.42--2010-11-19 02:02:19...

php的$_FILES的临时储存文件与回收机制实测过程

php的$_FILES的临时储存文件与回收机制实测过程

我想有跟我一样的想法的人会这样处理的: 上传的文件只是想临时使用,不需要把原文件保存备用,如resize之类的操作,且这些后期的操作会出现在第二轮从客户端请求时才操作的,如先上传,把上传...

使用NetBeans + Xdebug调试PHP程序的方法

使用NetBeans + Xdebug调试PHP程序的方法

按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为DBGP插件也存在许多缺陷,烦恼不断,经常性地stack o...