PHP常用的一些优化技巧

ecshop模板 php 优化技巧 老杨ecshop ecshop二次开发 2013-03-29



PHP常用的一些优化技巧_优化技巧0




做为最流行的WEB语言, PHP他的突出优势就是其速度与效率。如果遇到维护原有效率不高的脚本,或者服务器负载较大,以及网络带宽不高等多种影响系统性能的瓶颈时,就需要我们对系统的内部环境经行调优。​​老杨ecshop二次开发​

一:PHP脚本优化 

     我下面说的几条PHP脚本级优化,你可以在优化时用到它们,这些技巧并不能让PHP运行速度变的更快,而只能使代码稍稍优化一点儿。最重要的是让你了解PHP内在的运行原理。

     例子一:

      在程序中使用count($array)作为条件循环时的耗时操作。

       $birds = array("鹦鹉","麻雀","孔雀","天鹅");

        for($i = 0;$i<=count($birds);i++){

         ............ 

        }

        上面的代码每次处理都要执行一遍count()函数,计算数组的长度。

        下面我们重写代码

        $count = count($birds);

         for($i = 0;$i<=$count;i++){

         ............ 

        }

       例子二:

        对字符操作时,检查某个字符串是否超出长度。我们很容易的想到的是strlen()函数,但是strlen()函数在使用的时候需要经行几步的操作,如全部小写化、函数查找。

        在这样的场合,我们可以使用isset()来代替,以提高代码速度。

        if(strlen($var) < 5)  { echo "this is test";}

        重写后的代码

        if(!isset($var{5}))    { echo "this is test";}

        调用isset()比strlen()函数要快,因为isset()是一种语法结果,而不是函数。在执行的时候不需要PHP引擎对strlen()函数进行小写换换和内部进行函数查找。


       例子三:

        使用递增或递减时,$i++比++$i稍慢。这点和其他的语言相比,在php中是个特例,不要在C++和java中也使用这个技巧。在php中,$i++比++$i慢的原因是$i++进行了4次计算,而++$i

        进行了3次计算。$i++是先申请一个临时变量,然后增加。++$i直接使用原来变量。


        例子四

         字符串的输出

              echo 与 print

              print要比echo稍慢一些。理由很简单,不管是否需要,print都会返回一个状态标识,而echo只是简单的输出,不做任何其他的事情。

              printf() 这个函数会很慢,建议万不得已的时候不要使用。printf()是在需要进行参数格式化的情况下使用的。


        例子五

           require 比 require_once 快

           从PHP 5.2开始 require 将会比 require_once 快,因为require不会检查所包含的函数或文件是否存在。