PHP数组处理函数:in_array() -- 内置函数

所用PHP环境:7.1.16


函数简介

此函数检查数组中是否存在某个值
返回值为 布尔(boolean) 类型的值 true or false
注意: 此函数区分大小写


函数原型

bool in_array($index, $array, [,$strict]) ;


参数

$index:要检查的的值
$array:要检查的数组
$strict:可选参数,用于指定搜索模式(此函数有 松散/严格 两种搜索模式)


例子

  1. 松散搜索
<?php
$info = array('小明','男',12) ; // 创建一个保存小明各人信息的数组 数组值
$index_1 = '12' ; // 检擦值1 string
$index_2 = 12 ;   // 检擦值2 int
var_dump(in_array($index_1,$info));
var_dump(in_array($index_2,$info));
?>
//输出
D:\WampServer\www\MyPhpCode\01.php:5:boolean true
D:\WampServer\www\MyPhpCode\01.php:6:boolean true

结果分析:
保存小明个人信息的数组中有一项保存着年龄的 int 类型的数据 12
检查值与数组值对比:
..|- $index_1 的值为 string 类型的 12 , 书面值相同,数据类型不一致
..|- $index_2 的值为 int 类型的 12 ,书面值相同,数据类型一致
搜索结果中两项都为 真(true)
可以看出,松散搜索模式是不区分数据类型。


  1. 严格搜索

当 in_array() 的 $strict 参数(第三个参数)为 true 时启用严格搜索模式

$info = array('小明','男',12) ; // 创建一个保存小明各人信息的数组
$index_1 = '12' ; // 检擦值1 string
$index_2 = 12 ;   // 检擦值2 int
var_dump(in_array($index_1,$info,true)); // 启用严格搜索模式
var_dump(in_array($index_2,$info,true)); // 启用严格搜索模式
?>
// 输出
D:\WampServer\www\MyPhpCode\01.php:5:boolean false
D:\WampServer\www\MyPhpCode\01.php:6:boolean true

结果分析
沿用了第一个例子的源码,在第一个例子的基础上开启了严格搜索。
in_array($index_1,$info,true) 的结果为 false
由于 index_1 的 12 为 string 类型,与数组中的 int 类型 12 不一致,所以返回了 false
由此可以看出,在严格搜索模式中,是区分数据类型的。


搜索数组项目可以,那搜索数组中的数组(嵌套数组)可不可以呢?来尝试下

<?php
$info = array('小明','男',12,array('小明爸','小明妈')) ; // 在小明个人信息数组中嵌套一个保存小明父母名字的数组
$index = array('小明爸','小明妈') ;
var_dump(in_array($index,$info));      // 松散搜索模式
var_dump(in_array($index,$info,ture)); // 严格搜索模式
?>
// 输出
D:\WampServer\www\MyPhpCode\01.php:4:boolean true
D:\WampServer\www\MyPhpCode\01.php:5:boolean true

从输出可以看到,无论是在松散搜索模式还是严格模式中,都是可以搜索嵌套数组的,至于可不可以搜索多维数组,您自个尝试吧,我不想码字了,拜了个拜。

我就是这么可爱



@_@

不对,好像忘了什么。。。。 斯。。。。。哦!。。。。总结。对对对,总结


总结

  • in_array()区分大小写
  • 在严格模式下,搜索区分数据类型,松散模式不区分数据类型
  • 可搜索嵌套数组



b1c28d2f0708283807aea478b499a9014d08f17c.jpg

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,906评论 0 4
  • # 数组部分 # 1.## array_chunk($arr, $size [, $preserve_key = ...
    clothTiger阅读 4,990评论 0 1
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 6,223评论 1 24
  • 莲子心中苦,梨儿腹内酸。 ——金圣叹 (注:“莲”通“怜”,“梨”通“离”。)
    杨一同学阅读 1,950评论 0 1
  • 文/普林赛斯 1. 今天看到一句话挺有意思:“不好的婚姻把人变成疯子,好的婚姻把人变成傻子,最好的婚姻把人变成孩子...
    普林赛斯阅读 3,800评论 7 8

友情链接更多精彩内容