• 技术文章 >后端开发 >php教程

    php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,phpforeach二维数组_PHP教程

    2016-07-13 09:57:05原创745

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


    判断某字符是否包含与某于数组中,方法有很多,刚学习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()

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

    foreach

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

    array_search()

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

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

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/984627.htmlTechArticlephp中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,phpforeach二维数组 判断某字符是否包含与某于数组中,方法有很多,刚...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:in array foreach array search foreach
    上一篇:php简单实现查询数据库返回json数据_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解PHP用流方式实现下载文件(附代码示例)• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享• 聊聊PHP escapeshellarg函数使用的中文问题• 分享PHP函数使用小工具(附代码示例)
    1/1

    PHP中文网