【转】优化PHP性能的五个实用技巧-阿里云开发者社区

开发者社区> 小雨雨hi> 正文

【转】优化PHP性能的五个实用技巧

简介: 摘要:本文总结了5个优化PHP性能技巧,熟练掌握后对开发还是很有帮助的。 以下是五个优化技巧,熟练掌握后对于开发还是很有帮助的。 1.对字符串使用单引号 PHP引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉PHP引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。
+关注继续查看
摘要:本文总结了5个优化PHP性能技巧,熟练掌握后对开发还是很有帮助的。

以下是五个优化技巧,熟练掌握后对于开发还是很有帮助的。

1.对字符串使用单引号

PHP引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉PHP引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不是双引号字符串。

  1. BAD:
  2. $output = “This is a plain string”;
  3. GOOD:
  4. $output = 'This is a plain string';
  5. BAD:
  6. $type = “mixed”;
  7. $output = “This is a $type string”;
  8. GOOD:
  9. $type = 'mixed';
  10. $output = 'This is a ' . $type .' string';

2.不要随便就复制变量

有时候为了使PHP代码更加整洁,一些PHP新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入512KB字节的文字到文本输入框中,这样就会导致1MB的内存被消耗!

  1. BAD:
  2. $description = $_POST['description'];
  3. echo $description;
  4. GOOD:
  5. echo $_POST['description'];

3.使用echo函数来输出字符串

使用echo()函数来打印结果,除了更容易阅读之外,在下个例子中,你还可以看到有更好的性能。

  1. BAD:
  2. print($myVariable);
  3. GOOD:
  4. echo $myVariable;

4.不要在echo中使用连接符

很多PHP程序员(有包括我)不知道在用echo输出多个变量的时候,其实可以使用逗号来分开的,而不必用字符串先把他们先连起来。如下面的第一个例子中,由于使用了连接符就会有性能问题,因为这样就会需要PHP引擎首先把所有的变量连接起来,然后在输出,而在第二个例子中,PHP引擎就会按照循序输出他们。

  1. BAD:
  2. echo 'Hello, my name is' . $firstName . $lastName . ' and I live in ' . $city;
  3. GOOD:
  4. echo 'Hello, my name is' , $firstName , $lastName , ' and I live in ' , $city;

5.使用switch/case代替if/else

对于只有单个变量的判断,使用switch/case语句而不是if/else语句,会有更好的性能,并且代码更加容易阅读和维护。

  1. BAD:
  2. if($_POST['action'] == 'add‘) {
  3. addUser();
  4. } elseif ($_POST['action'] == 'delete’) {
  5. deleteUser();
  6. } elseif ($_POST['action'] == 'edit‘) {
  7. editUser();
  8. } else {
  9. defaultAction();
  10. }
  11. GOOD:
  12. switch($_POST['action']) {
  13. case 'add':
  14. addUser();
  15. break;
  16. case 'delete':
  17. deleteUser();
  18. break;
  19. case 'edit':
  20. editUser();
  21. break;
  22. default:
  23. defaultAction();
  24. break;

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
RecyclerView 性能优化 | Android offer 收割机
阿里四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。 数据处理和视图加载分离 我们知道,从远端拉取数据肯定是要放在异步的,在我们拉取下来数据之后可能就匆匆把数据丢给了 VH 处理,其实,数据的处理逻辑我们也应该放在异步处理,这样 Adapter 在 notify cha...
1214 0
PHP 提高PHP性能的编码技巧以及性能优化
0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这 么做,它是 一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
901 0
《PHP高性能开发:基础、框架与项目实战》_王甲临
《PHP高性能开发:基础、框架与项目实战》_王甲临
457 0
UITableView性能优化-中级篇
老实说,UITableView性能优化 这个话题,最经常遇到的还是在面试中,常见的回答例如: Cell复用机制 Cell高度预先计算 缓存Cell高度 圆角切割 等等. . .
404 0
uitableview cell实现性能优化
如果你想要如丝般顺滑的效果,那么: 1、每次都看一下有没有能重用的 cell,而不是永远重新新建(这个是 UITableView 的常识) 2、图片载入放到后台进程去进行,滚出可视范围的载入进程要 cancel 掉 3、圆角、阴影之类的全部 bitmap...
706 0
性能优化技巧 - 组表数据更新
组表是集算器提供的高性能存储格式,其原理在于将数据事先排序并以压缩方式紧致存储,好处是占用空间更小,可利用有序进行快速定位。 但这种存储方式在数据更新时会遇到麻烦,这是因为新数据也要和历史数据一起排序并压缩,常常会要求重写整个组表,重写操作非常耗时,但又不得不做。
677 0
+关注
小雨雨hi
CSDN学院讲师、博客专家,专注服务端开发,服务端架构演变,区块链技术研究,项目管理,热衷学习前沿技术,以及日常的技术分享,曾经历过创业技术合伙人角色。
277
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载