提升PHP性能的21种方法介绍


Posted in PHP onJune 25, 2013

1.用单引号来包含字符串要比双引号来包含字符串更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。
2.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
3.$row['id'] 的速度是$row[id]的7倍。
4.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。
5.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。
6.注销那些不用的变量尤其是大数组,以便释放内存。
7.尽量避免使用__get,__set,__autoload。
8.require_once()代价昂贵。
9.include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。
10.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。
11.函数代替正则表达式完成相同功能。
12.str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
13.如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
14.使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
15.用@屏蔽错误消息的做法非常低效,极其低效。
16.打开apache的mod_deflate模块,可以提高网页的浏览速度。
17.数据库连接当使用完毕时应关掉,不要用长连接。
18.错误消息代价昂贵。
19.在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
20.递增一个全局变量要比递增一个局部变量慢2倍。
21.递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

PHP 相关文章推荐
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
php删除数组指定元素实现代码
May 03 PHP
PHP 断点续传实例详解
Nov 11 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 #PHP
解析php取整的几种方式
Jun 25 #PHP
关于PHP内存溢出问题的解决方法
Jun 25 #PHP
关于PHP session 存储方式的详细介绍
Jun 25 #PHP
基于php使用memcache存储session的详解
Jun 25 #PHP
解析Extjs与php数据交互(增删查改)
Jun 25 #PHP
深入extjs与php参数交互的详解
Jun 25 #PHP
You might like
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
js实现秒表计时器
2019/12/16 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python 创建一维的0向量实例
2019/12/02 Python
python实现猜数游戏
2020/03/27 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
html5的canvas方法使用指南
2014/12/15 HTML / CSS
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
应聘收银员个人的求职信
2013/11/30 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
农村文化建设标语
2014/10/07 职场文书
2014年协会工作总结
2014/11/22 职场文书
作弊检讨书
2015/01/27 职场文书
mysql函数之截取字符串的实现
2022/08/14 MySQL