提升 PHP 编程效率的 20 个要素 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lampbrother
V2EX    PHP

提升 PHP 编程效率的 20 个要素

  •  
  •   lampbrother 2016-07-19 15:36:15 +08:00 2647 次点击
    这是一个创建于 3378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [摘要] 用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的字符串中搜寻变量,单引号则 不会,兄弟连教育 www.lampbrother.net 提醒各位:只有 echo 能这么做,它是一种可以把多个字符串当作参数的“函数”

    1 、如果能将类的方法定义成 static ,就尽量定义成 static ,的速度会提升将近 4 倍。

    2 、$row[’ id ’] 的速度是$row[id]的 7 倍。 

    3 、 echo 比 print 快,并且使用 echo 的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如 echo $str1,$str2 。

    4 、在执行 for 循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用 foreach 代替。

    5 、注销那些不用的变量尤其是大数组,以便释放内存。

    6 、尽量避免使用__get ,__set ,__autoload 。

    7 、 require_once()代价昂贵。

    8 、 include 文件时尽量使用绝对路径,因为它避免了 PHP 去 include_path 里查找文件的速度,解析操作系统路径所需的时间会更少。

    9 、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘ REQUEST_TIME ’]要好于 time()。

    10 、函数代替正则表达式完成相同功能。

    11 、 str_replace 函数比 preg_replace 函数快,但 strtr 函数的效率是 str_replace 函数的四倍。

    12 、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

    13 、使用选择分支语句(译注:即 switch case)好于使用多个 if , else if 语句。

    14 、用 @屏蔽错误消息的做法非常低效,极其低效。

    15 、打开 apache 的 mod_deflate 模块,可以提高网页的浏览速度。

    16 、数据库连接当使用完毕时应关掉,不要用长连接。

    17 、错误消息代价昂贵。

    18 、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

    19 、递增一个全局变量要比递增一个局部变量慢 2 倍。

    20 、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢 3 倍。

    5 条回复    2016-07-20 10:45:01 +08:00
    samt42
        1
    samt42  
       2016-07-20 02:05:51 +08:00
    是我穿越了么?
    xming
        2
    xming  
       2016-07-20 08:47:18 +08:00
    能不能不要发这些东西
    zf424zf
        3
    zf424zf  
       2016-07-20 09:17:48 +08:00
    这不是面试宝典里的吗。。。。
    kechx
        4
    kechx  
       2016-07-20 10:22:01 +08:00
    第一句就让人无力吐槽,竟然还有人在纠结单引号双引号效率的问题?
    AbrahamGreyson
        5
    AbrahamGreyson  
       2016-07-20 10:45:01 +08:00
    10 年前的“优化指南”了。引擎升级无数次了都。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1159 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 17:54 PVG 01:54 LAX 10:54 JFK 13:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86