php判断数组元素中是否存在某个字符串的方法


Posted in PHP onJune 14, 2014

方法一:采用in_array(value,array,type)

type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

$arr = array('可以','如何','方法','知道','?]有','不要');
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
    echo "in====".$isin;
}else{
    echo "out====".$isin;
}

方法二:

array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array

方法三:

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict),当数据量比较大的时候,用array_key_exists比较合适,但占用的内存比较大,

数组结构是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..),内存使用比值为1:2。
具体跟内部实现有关系,在php中第一种和第二种的数据结构类似,都是关联数组。

其它补充:

查找一个元素是否在数组中,一共有下面三种做法:

in_array  '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。

array_key_exists(key,array)

array_search 'array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

array_search(value,array,strict)

从这里来看,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;
当数据量比较大的时候,用array_key_exists比较合适。
当然这里array_key_exists占用的内存比较大,经测算
数组结构是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..)
他们内存使用比值为1:2;
这个和内部实现有关系,实际上在php中第一种和第二种的数据结构类似,都是关联数组。

PHP 相关文章推荐
利用PHP创建动态图像
Oct 09 PHP
php在线生成ico文件的代码
Oct 09 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 PHP
解析argc argv在php中的应用
Jun 24 PHP
解析php下载远程图片函数 可伪造来路
Jun 25 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
WordPress中使主题支持小工具以及添加插件启用函数
Dec 22 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 #PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 #PHP
PHPAnalysis中文分词类详解
Jun 13 #PHP
ThinkPHP缓存方法S()概述
Jun 13 #PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 #PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 #PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 #PHP
You might like
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
PHP中的session安全吗?
2016/01/22 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
PHP多维数组排序array详解
2017/11/21 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
Django和Flask框架优缺点对比
2019/10/24 Python
Django实现网页分页功能
2019/10/31 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
临床医学专业学生的自我评价分享
2013/11/21 职场文书
大学生评语大全
2014/04/18 职场文书
高中生评语大全
2014/04/25 职场文书
高校教师个人总结
2015/02/10 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
Python基础 括号()[]{}的详解
2021/11/07 Python