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的中问验证码
Nov 25 PHP
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
微信公众平台开发之天气预报功能
Aug 31 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 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
咖啡语言
2021/03/03 咖啡文化
php访问查询mysql数据的三种方法
2006/10/09 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
经济学人订阅:The Economist
2018/07/19 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
公司任命书模板
2014/06/06 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
Python+Appium自动化测试的实战
2021/06/30 Python
java解析XML详解
2021/07/09 Java/Android