zoukankan      html  css  js  c++  java
  • PHP常用的一些优化技巧

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

  • 相关阅读:
    朗志轻量级项目管理解决方案-RBAC角色权限模块介绍
    关于业务规则层、业务实体层、业务外观层、模型层的作用很不清楚,殷切期望解答
    已有类实例,现在想拥有另一个相同状态的实例,除了反序列化还有别的办法吗?
    签名工具
    请教一个winform程序设计上的问题
    在使用WeifenLuo Suite时遇到的问题,自己记录一下,备忘
    解读C#正则表达式
    [导入]jbuilder 2006开发struts+sqlserver2K准备工作
    如何用设计模式变相实现类的多继承?
    WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异
  • 原文地址:https://www.cnblogs.com/xrhui/p/5047103.html
Copyright © 2011-2022 走看看