PHP 代码级别的速度优化
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
1 用 ' 代替 " 来包含字符串;
因为 ‘ 不用做变量替换,所以$row['id']速度就比$row[id]快,不要小看这些无助轻重的小事儿,量多了就不好说了。
2 'static方法'的比普通方法速度快.
3 echo比print快.
4 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替.
foreach效率更高,所以尽量用foreach代替while和for循环.
5 使用'switch case'好于使用多个if,else if语句.
6 注销那些不用的变量尤其是大数组,以便释放内存.
7 尽量避免使用__get,__set,__autoload.
9 require_once()代价昂贵.
10 include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度.
11 用字符窜函数代替正则表达式完成相同功能,正则非常耗资源。
12 用@屏蔽错误消息的做法非常低效.
13 在方法中递增局部变量,速度是最快的:速度由大到小 局部变量>全局变量>对象属性.
递增一个预定义的局部变量比递增一个未预定义的局部变量快很多.道理很简单。
14 如果你想知道脚本开始执行时间,使用$_SERVER['REQUEST_TIME']要好于time().
15 数据库连接当使用完毕时应关掉,不要用长连接.
16 错误消息代价昂贵.
17 尽量采用大量的PHP内置函数.
18 循环内部不要声明变量,尤其是大变量,在循环提外部原声明比较好。
19 仅定义一个局部变量而没在函数中调用它,同样会减慢速度,PHP大概会检查看是否存在全局变量.
20 在可以用file_get_contents替代file、fopen、feof、fgets等系列方法.
21 多维数组尽量不要循环嵌套赋值.
22 用i+=1代替i=i+1,效率高.
23 对global变量,应该用完就unset()掉.
评估检验(profile)你的代码.检验器会告诉你,代码的哪些部分消耗了多少时间.
Xdebug调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈.