现在的位置: 首页 > 编程语言 > 正文

怎么优化PHP代码可以提高速度

2019年12月18日 编程语言 ⁄ 共 1417字 ⁄ 字号 评论关闭

  网页访问速度的提升,是可以通过代码的优化来实现的。代码的优化,并不是说代码越少越好,而是主要看代码的运行能力和执行效率,看其消耗CPU和内存的多少。例如Facebook近来就宣布通过代码优化而将网站性能提高了一倍,平均访问时间从5s降至2.5s,这个结果无疑是极其诱人的。

  PHP是一门很多人正在使用的语言,在网站开发上PHP的使用广泛度超过ASP和ASP.NET,看看时下流行的CMS和博客用什么语言来开发的就知道了。

  其实PHP入门很容易,尤其是对于一个已经接触过程序编写的人来说,而对于没有接触过程序语言的菜鸟来说,学习用PHP做一个输出helloworld的网页也很轻松。

  然而要编写高效率的代码,并不是所有懂程序的人都可以编写出来的,这需要经过多年的研究积累和经验总结。

  本文将给大家提炼一些PHP代码优化的实例,利用这些优化,PHP代码的运行能力将会大大提高,速度提升5倍以上有些情况下并不是不能出现。

1、echo比print快

  echo和print是PHP程序中经常使用的指令,尤其是需要调试的时候。echo和print都能输出一段信息,但经测试发现,echo运行速度会比print快,因此在程序编写是应使用echo而非print。但是有时候也需要用到print,echo不能完全代替print。请看phpecho()和print()有什么区别。

2、连接符用逗号而不是句号

  php里逗号和句号都可以起到连接符的作用,关于如何优化输出,可以看这里如何优化php字符串echo输出。

  此外,输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。

3、使用选择分支语句(译注:即switchcase)好于使用多个if,elseif语句。

  ifelseif的使用非常普遍,在其他语言里也一样,这个写法好像更符合人的说话习惯,但是在程序里这样写并不太好,它在效率上比switchcase要低。所以,一旦程序里需要多个判断时,就应该用switchcase而不要再用ifelseifelseif这样。

4、数据库连接当使用完毕时应关掉

  在操作数据库时,很多程序员往往忘记关掉数据库连接,或许他们没有这个习惯。数据库连接是需要消耗内存为代价的,连接数越多内存消耗就越多,所以在实际应用中都必须及时关闭不需要用到的连接,以释放内存,缓解服务器压力。

5、错误消息代价昂贵

  错误消息一般用于调试,它的执行效率其实是很低的,速度上会比直接运行慢很多。所以,在程序不需要抓取错误消息时,就不要用。

6、局部变量要合理使用

  尽量不要在for循环中使用函数,比如for($x=0;$xprop)要比递增一个局部变量慢3倍。

  递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。

  仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。

7、用单引号代替双引号来包含字符串

  实践证明,用单引号代替双引号来包含字符串,这样做会更快一些。

  因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。当然,只有当你不需要在字符串中包含变量时才可以这么做。更多分析请看实例分析php单引号和双引号的区别。

  以上几点是本文提炼出来的PHP优化方法,当然,优化PHP绝非仅此一点,所谓学无止境,许许多多的优化方法和技巧,需要我们在实践中不断总结和运用。

抱歉!评论已关闭.