php代码优化技巧(持续更新)
*简单的开始
- echo 比 print 效率高,因为echo没有返回值,print返回一个整型值。
- 试着使用三元运算符 (? :)。
- 在for循环之前设置循环次数,循环里不要用函数,例如
for($x=0;$x<count($array);$x++)
,count()函数在外面先计算。 - 销毁变量释放内存,尤其大的数组。
- 在include和require 中使用绝对路径,这样在分析路径花的时间更少。
- 获取时间戳用$_SERVER[‘REQUEST_TIME’]优于使用time()。
- 尽量用字符处理函数,效率高于正则。
- str_replace字符替换比正则preg_replace 快,strtr又比str_replace 又快1/4。
- $row[‘id’] 比 $row[id] 速度快,建议养成加引号的习惯。
- 建立一个全局变量比局部变量慢2倍。
- 声明一个未被任何一个函数使用过的全局变量也会使性能降低(跟声明相同数量的局部变量一样),PHP可能去检查这个变量是否存在。
- 建立一个未声明的局部变量要比一个初始化的局部变量慢9-10倍。
*函数
- 函数参数可以在变量前加&来表示按地址传递而非按值传递。
*数据库
- 使用ip2long()和long2ip()函数把IP地址转成整型存进数据库可以降低1/4的存储空间,还可以对地址进行排序和快速查找。
- 使用gzcompress() 对容量大的字符串进行压缩再存进数据库,和 gzuncompress() 取出数据库再解压。这种内置的函数使用gzip算法能压缩到90%
*面向对象的
- 如果一个方法能被静态,那就声明为静态,速度可提高1/4.