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 相关文章推荐
BBS(php & mysql)完整版(六)
Oct 09 PHP
PHP新手上路(十)
Oct 09 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
YII Framework教程之异常处理详解
Mar 14 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP学习记录之数组函数
Jun 01 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 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 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Django web框架使用url path name详解
2019/04/29 Python
python读写配置文件操作示例
2019/07/03 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
python如何使用代码运行助手
2020/07/03 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
python ssh 执行shell命令的示例
2020/09/29 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
大学生学年自我鉴定
2014/02/10 职场文书
2014年电教工作总结
2014/12/19 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书