echo 比 print 快。
利用echo的多重参数代替字符串连接。
在实行for循环之前确定最大循环数,不要每循环一次都打算最大值,最好利用foreach代替。
对global变量,该当用完就unset()掉。
用单引号代替双引号来包含字符串,这样做会更快一些。
由于PHP会在双引号包围的字符串中征采变量,单引号则不会。
函数代替正则表达式完成相同功能。当实行变量$i的递增或递减时,$i++会比++$i慢一些。
这种差异是PHP特有的,并不适用于其他措辞,++$i更快是由于它只须要3条指令(opcodes),$i++则须要4条指令。
后置递增实际上会产生一个临时变量,这个临时变量随后被递增。
而前置递增直接在原值上递增。
利用选择分支语句(switch case)好于利用多个if,else if语句。
利用var_dump进行PHP代码调试。
如果你在探求php调试技能,我必须说var_dump该当是你要找的目标,在显示php信息方面这个命令可以知足你的所有须要,而调试代码的多数情形与得到PHP中的数值有关。
在包含文件时利用完全路径,解析操作系统路径所需的韶光会更少。
动辄创建全局数值是一种糟糕的做法,不过有时候实际情形的确又须要这么做。
对付数据库表或数据库连接信息利用全局数值是一个不错的想法,但不要在你的PHP代码中频繁利用全局数值。
其余,更好的一种做法是把你的全局变量存放在一个config.php文件中。
如果你想知道脚本开始实行的时候,利用$_SERVER[‘REQUEST_TIME’]要好于time()。
打开apache的mod_deflate模块。
用@屏蔽缺点的做法非常低效。
只管即便采取大量的PHP内置函数。
递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
派生类中的方法运行起来要快于在基类中定义的同样的方法。
仅定义一个局部变量而没在函数中调用它,同样会减慢速率(其程度相称于递增一个局部变量)Apache解析一个PHP脚本的韶光要比解析一个静态HTML页面慢2至10倍。
只管即便多用静态HTML页面,少用脚本。正如之条件到的,任何php网站中最主要的部分有99%的可能是数据库。
因此,你须要非常熟习如何精确的利用sql,学会关联表和更多高等的数据库技能。
调用带有一个参数的空函数,其花费的韶光相称于实行7至8次的局部变量递增操作。
当操作字符串并须要考验其长度是否知足某种哀求时,你想当然地会利用strlen()函数。
此函数实行起来相称快,由于它不做任何打算,只返回zval 构造(C的内置数据构造,用于存储PHP变量)中存储的已知字符串长度。
并不是所有情形都必须利用面向工具开拓,面向工具每每开销很大,每个方法和工具调用都会花费很多内存。
除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制常日可以提升25%至100%的性能,以免除编译开销。
PHP代码优化把稳事变
短代码不即是快的代码
很多人在写程序时希望将代码写的越简洁越好,但是越短的代码有时候反而须要更长的实行韶光。在写程序的时候更该当看重程序的扩展性,而不是追求速率。在优化你的代码之前,先看看跟数据库有关的部分,由于大多数运用程序的瓶颈在数据库而不是代码。