博客
关于我
PHP编程效率的20个要点
阅读量:793 次
发布时间:2023-03-01

本文共 962 字,大约阅读时间需要 3 分钟。

用单引号代替双引号来包含字符串,这样做会更快一些。PHP在双引号包围的字符串中会搜寻变量,而单引号则不会,这一点在使用echo时尤为明显。

在优化性能方面,以下几点建议值得注意:

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

  • $row[’id’] 的速度是$row[id]的7倍。这种直接访问数组的方式比通过关联数组访问更快。

  • echo比print快,并且使用echo的多重参数代替字符串连接,比如echo "$str1,$str2"会比使用echo "$str1""$str2"快很多。

  • 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。最好使用foreach代替for循环,这样可以避免显式的循环次数计算。

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

  • 尽量避免使用__get、__set、__autoload等动态特性方法。

  • require_once()的性能相对较差,尽量避免频繁调用。

  • 包含文件时尽量使用绝对路径,这样可以避免PHP去include_path里查找文件的时间消耗。

  • 如果你想知道脚本开始执行的时刻,使用$_SERVER['REQUEST_TIME']要比time()更高效。

  • 函数代替正则表达式完成相同功能,可以在性能上有明显提升。

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

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

  • 使用选择分支语句(switch case)好于使用多个if、else if语句。

  • @屏蔽错误消息的做法非常低效,建议避免使用。

  • 打开apache的mod_deflate模块,可以显著提高网页的浏览速度。

  • 数据库连接应在使用完毕后关闭,避免使用长连接。

  • 错误消息的产生和处理会消耗大量的资源,建议尽量避免。

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

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

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

  • 转载地址:http://yotfk.baihongyu.com/

    你可能感兴趣的文章