php中in_array函数用法探究

本文较为深入的探究了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程序设计有所帮助。

(0)

相关推荐

  • php数组查找函数in_array()、array_search()、array_key_exists()使用实例

    php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array(),array_search(),array_key_exists(). 首先分别介绍一下各自的定义与作用 in_array(value,array,type) 该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与

  • 2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题

    但是如果数组比较大的时候,性能就会下降,运行的就会久一点,那如果针对在大数组情况下做优化呢,下面说两种方法(都是通过自定义函数来实现): 1.数组key与value翻转,通过isset判断key是否存在于数组中 复制代码 代码如下: /** * in_array is too slow when array is large */public static function inArray($item, $array) {    $flipArray = array_flip($array); 

  • php数组函数序列之in_array() 查找数组值是否存在

    in_array() 定义和用法 in_array() 函数在数组中搜索给定的值. 语法 in_array(value,array,type) 参数 描述 value 必需.规定要在数组搜索的值. array 必需.规定要搜索的数组. type 可选.如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同. 说明 如果给定的值 value 存在于数组 array 中则返回 true.如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true.

  • php数组函数序列之in_array() - 查找数组中是否存在指定值

    in_array()定义和用法 in_array() 函数查找数组中是否存在指定值. 语法 in_array(value,array,type)参数 描述 value 必需.规定要在数组搜索的值. array 必需.规定要搜索的数组. type 可选.如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同. 说明 如果给定的值 value 存在于数组 array 中则返回 true.如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true.

  • PHP函数in_array()使用详解

    PHP有一个系统函数is_array()可以判断一个值是否在数组中. 语法如下: 复制代码 代码如下: in_array(value,array,type) return boolen 参数说明: value :要搜索的值 array : 被搜索的数组 type : 类型,true全等 ,false非全等(默认) 示例一:普通使用 代码: 复制代码 代码如下: $str = 1;   $arr = array(1,3,5,7,9);   $boolvalue = in_array($str,$a

  • PHP IN_ARRAY 函数使用注意事项

    另外,我们在 控制结构比较两个数值是否一直的时候,也应该尽量使用 === 来代替 ==(当然,这个也根据具体的业务逻辑选用比较合适的). 小弟来解释下 为什么 var_dump(in_array(0, array('s' )); 这句话的结果是bool(true). 因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php manual 中"Comparison Operators" 一章的说明可知,number 和string进行 比

  • php in_array 函数使用说明与in_array需要注意的地方说明

    in_array (PHP 4, PHP 5) in_array - 检查数组中是否存在某个值 说明 复制代码 代码如下: bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) 在 haystack 中搜索 needle ,如果找到则返回 TRUE,否则返回 FALSE. 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同.

  • php中in_array函数用法分析

    本文实例分析了php中in_array函数用法.分享给大家供大家参考.具体如下: PHP是弱类型语言 在使用IN_ARRAY函数时尽量带上第三个参数,代码如下: 复制代码 代码如下: var_dump(in_array(0,array('s','sss'),true)); // return false     var_dump(in_array(0,array('s','sss')));       // return true     var_dump(in_array(0,array(1,

  • PHP使用in_array函数检查数组中是否存在某个值

    本文实例讲述了PHP使用in_array函数检查数组中是否存在某个值的方法.分享给大家供大家参考.具体分析如下: PHP使用in_array()函数检查数组中是否存在某个值,如果存在则返回 TRUE ,否则返回 FALSE了,非常的好用,下面我深入来为各位介绍in_array() 函数. 最近在用php写一段代码时,要用到判断某值是否在另外一组值中.而in_array 函数就是用来检查数组中是否存在某个值 .直接通过概念理解比较模糊,可以通过具体例子了解其作用. 语法如下: bool in_ar

  • php中in_array函数用法探究

    本文较为深入的探究了php中in_array函数用法.分享给大家供大家参考.具体如下: 今天突然想到php中的in_array函数有个其怪的用法,下面我们来看看这个用法,有需要的朋友简单的参考一下,代码如下: 复制代码 代码如下: $a=array("1,2,3","4"); if(in_array(1,$a)){     echo "条件成立"; } 这个条件果然是成立的,按照我的思考逻辑上边的那个条件只有在参数1的值为"1,2,3&

  • php中strtotime函数用法详解

    本文实例讲述了php中strtotime函数用法.分享给大家供大家参考.具体如下: strtotime(字符串$时间[,诠释$现在])int strtotime(string $time [,int $now] 该函数期望得到一个包含美国英语日期格式,并会尝试解析成一个Unix时间戳(多少秒自1970年1月1日00:00:00星期一该格式),相对于现在提供的时间戳,或当前时间如果现在不提供 这个函数将使用TZ环境变量(如果有)来计算时间戳,自PHP 5.1.0有更容易的方法来确定所使用的所有/日

  • SeaJS中use函数用法实例分析

    本文实例讲述了SeaJS中use函数用法.分享给大家供大家参考,具体如下: 有了 define 等模块定义规范的实现,我们可以开发出很多模块.但光有一堆模块不管用,我们还得让它们能跑起来.在 SeaJS 里,要启动模块系统很简单: <script src="path/to/sea.js"></script> <script> seajs.use('./main'); </script> seajs.use 用来在页面中加载模块.通过 us

  • Oracle 中 decode 函数用法

    含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF decode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3  当然值1

  • Python中max函数用法实例分析

    本文实例讲述了Python中max函数用法.分享给大家供大家参考.具体如下: 这里max函数是Python内置的函数,不需要导入math模块 # 最简单的 max(1, 2) max('a', 'b') # 也可以对列表和元组使用 max([1,2]) max((1,2)) # 还可以指定comparator function max('ah', 'bf', key=lambda x: x[1]) def comparator(x): return x[1] max('ah', 'bf', ke

  • php中HTTP_REFERER函数用法实例

    本文实例分析了php中HTTP_REFERER函数用法.分享给大家供大家参考.具体分析如下: 利用php的http_referer函数来判断用户的来路,这是比较简单的,实例代码如下: 复制代码 代码如下: <?php    if (isset($_SERVER['HTTP_REFERER'])) {      print "The page you were on previously was {$_SERVER['HTTP_REFERER']}<br />";   

  • python开发中range()函数用法实例分析

    本文实例讲述了python开发中range()函数用法.分享给大家供大家参考,具体如下: python中的range()函数的功能很强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates arithmetic progressions 下面是我做的demo: #

  • javaScript中push函数用法实例分析

    本文实例讲述了javaScript中push函数用法.分享给大家供大家参考.具体分析如下: javaScript 中的 push 方法,将新元素添加到一个数组中,并返回数组的新长度值. arrayObj.push([item1   [item2   [.   .   .   [itemN   ]]]]) 参数 arrayObj,必选项.一个   Array   对象. item,   item2,.   .   .   itemN, 可选项.该   Array   的新元素. 说明 push 

  • JavaScript中exec函数用法实例分析

    本文实例讲述了JavaScript中exec函数用法.分享给大家供大家参考.具体如下: javaScript 中的 exec 函数,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组. rgExp.exec(str) 参数: rgExp   必选项.包含正则表达式模式和可用标志的正则表达式对象. str   必选项.要在其中执行查找的 String 对象或字符串文字. 说明: 如果 exec 方法没有找到匹配,则它返回 null.如果它找到匹配,则 exec 方法返回一个数组,并

随机推荐