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之第五天
Oct 09 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 PHP
php获取文件内容最后一行示例
Jan 09 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
php实现微信公众号无限群发
Oct 11 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 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
PHP开发过程中常用函数收藏
2009/12/14 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
2015/09/26 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
简单了解django orm中介模型
2019/07/30 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
python全局变量引用与修改过程解析
2020/01/07 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
中专毕业生求职简历的自我评价
2013/10/21 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
反四风对照检查材料
2014/09/22 职场文书
药店采购员岗位职责
2014/09/30 职场文书
干部培训工作总结2015
2015/05/25 职场文书
地道战观后感
2015/06/04 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
详解JAVA的控制语句
2021/11/11 Java/Android
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS