1. 如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。
2. 如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。
3. 使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。echo 'xx',$test,$a;
4. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 for($i = 0,$index=count($arr);$i < $index; $i++){}
5. 注销那些不用的变量尤其是大数组,以便释放内存。特别是循环或递归操作
6. 尽量避免使用__get,__set,__autoload。php找不到合适的 最后才用魔术方法
7. require_once()代价昂贵。
8. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。
9. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10. 检查是否能用strncasecmp,strpbrk,stripos函数代替正则表达式完成相同功能。尽量少用正则
11. str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。strtr ==> linux 下tr命令
12. 使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
13.用@屏蔽错误消息的做法非常低效。多一些步骤
14. 打开apache的mod_deflate模块。同gzip类似
15. 数据库连接当使用完毕时应关掉。
16. $row[‘id’]的效率是$row[id]的7倍。php会先将后者解析为常量 找不到在转换为字符
17. 错误消息代价昂贵。
18. 递增一个全局变量要比递增一个局部变量慢2倍。可使用返回局部变量避免
19. 递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。
20. 递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
21. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
22. 派生类中的方法运行起来要快于在基类中定义的同样的方法。
24. 用单引号代替双引号来包含字符串,这样做会更快一些。php单双引号区别
25. isset($arr['key']) << array_key_exists($key, $search) || (strlen($foo) < 5) >> !isset($foo{5}) 原因同样是语言结构与函数的区别
26. 当执行变量$i的递增或递减时,$i++会比++$i慢一些。
27. 尽量采用PHP内置函数。