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 相关文章推荐
PHP4在Windows2000下的安装
Oct 09 PHP
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
MySQL相关说明
Jan 15 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 PHP
PHP7移除的扩展和SAPI
Mar 09 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
PHP删除非空目录的函数代码小结
2013/02/28 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
python学生管理系统代码实现
2020/04/05 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
详解Python正则表达式re模块
2019/03/19 Python
python绘制直方图和密度图的实例
2019/07/08 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
营销专业应届生求职信
2013/11/26 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
学校捐书倡议书
2015/04/27 职场文书
社区志愿服务活动感想
2015/08/07 职场文书