php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比


Posted in PHP onApril 14, 2015

判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreach,in_array() array_search 这三种方法来比较这三种方法在性能表现上的差异。

<?php
$runtime= new runtime;
$runtime->start();
    $a = 'k';
    $b = array('a','b','c','d','e','f','g','h','i','j','k');

/*
for ($i=0; $i < 100000; $i++) {
    var_dump(in_array($a, $b));    
}
*/

/*
for ($i=0; $i < 100000; $i++) {
    foreach ($b as $key => $value) {
        if ($a == $value) {
            //echo TRUE;
            continue;
        }
    }
}
*/

/*
for ($i=0; $i < 100000; $i++) {
    array_search($a, $b);
}
*/

$runtime->stop();
echo $_b;
echo "执行时间: ".$runtime->spent()." 毫秒";

class runtime{
  var $StartTime = 0;
  var $StopTime = 0;
  function get_microtime(){
    list($usec, $sec) = explode(' ', microtime());
    return ((float)$usec + (float)$sec);
  }
  function start(){
    $this->StartTime = $this->get_microtime();
  }
  function stop(){
    $this->StopTime = $this->get_microtime();
  }
  function spent(){
    return round(($this->StopTime - $this->StartTime) * 1000, 1);
  }
}
?>

以上程序执行时间如下图所示:

in_array()

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

foreach

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

array_search()

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

由上可以大致看出这三种方法在性能上的表现了吧,array_search 和 in_array 表现差不多,foreach 表现最差。

PHP 相关文章推荐
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
PHP中鲜为人知的10个函数
Feb 28 PHP
php实现微信公众号无限群发
Oct 11 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
Jun 21 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
php实现的AES加密类定义与用法示例
Jan 29 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
PHP日期和时间函数的使用示例详解
Aug 06 PHP
PHP也能干大事 随机函数
Apr 14 #PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 #PHP
微信公众平台之快递查询功能用法实例
Apr 14 #PHP
php生成rss类用法实例
Apr 14 #PHP
php修改上传图片尺寸的方法
Apr 14 #PHP
php动态添加url查询参数的方法
Apr 14 #PHP
php保存任意网络图片到服务器的方法
Apr 14 #PHP
You might like
mayfish 数据入库验证代码
2010/04/30 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
python中的字典操作及字典函数
2018/01/03 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
平安工地建设方案
2014/05/06 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
2014年市场部工作总结
2014/11/25 职场文书
社区节水倡议书
2015/04/29 职场文书
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS