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的正则处理函数总结分析
Jun 20 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
PHP重载基础知识回顾
Sep 10 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
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Linux下多个Python版本安装教程
2018/08/15 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Python中bisect的使用方法
2019/12/31 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
美国NBA官方商店:NBA Store
2019/04/12 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
艺术设计专业个人求职信范文
2013/12/11 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
python b站视频下载的五种版本
2021/05/27 Python
配置nginx负载均衡
2022/05/06 Servers