php中in_array函数用法探究

yipeiwu_com5年前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 二维array转换json的实例讲解

PHP提供函数直接将array转换成json json_encode($param_array); 若需要下面这种嵌套式如何处理呢? { "appid": "15000011...

php将字符串随机分割成不同长度数组的方法

本文实例讲述了php将字符串随机分割成不同长度数组的方法。分享给大家供大家参考。具体分析如下: 这里使用php对字符串在指定的长度范围内进行随机分割,把分割后的结果存在数组里面 fu...

set_include_path在win和linux下的区别

刚刚调式程序,本来在服务器上好好的程序到了win下居然出错。 后来仔细调式才发现是set_include_path的问题。 在win下,当你要include多个路径的...

php面象对象数据库操作类实例

本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下://此处构造一个数据库操作类,封装所有数据库操作 //可以扩展便于后台管理程序...

phpmyadmin提示The mbstring extension is missing的解决方法

本文较为详细的分析了phpmyadmin提示The mbstring extension is missing的解决方案,分享给大家供大家参考。具体方法如下: 一、问题: phpmyad...