牛骨文教育服务平台(让学习变的简单)
博文笔记

关于in_array() foreach array_search() 的性能对比

创建时间:2014-03-29 投稿人: 浏览次数:3407
   <?php
    /*
    *Powered by ciogao@gmail.com  QQ 285305740
    */
    echo "结论:<br>in_array与array_search效率几乎相同,in_array仅返回真伪,array_search同时返回位置.<br>foreach性能最差<br>";
    $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);
        }
    }
    ?>


本文章来至源码世界  http://www.ymsky.net/views/51985.shtml
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。