开发交流

PHP常用的一些优化技巧

LYECS,LYECS+商城系统,多用户商城系统,开源商城系统 发布日期:2013-03-29   作者:老杨

做为最流行的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不会检查所包含的函数文件是否存在。

热门文章

分类标签