提升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 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
解析PHP汉字转换拼音的类
Jun 18 PHP
解析thinkphp的左右值无限分类
Jun 20 PHP
让PHP显示Facebook的粉丝数量方法
Jan 08 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
php+highchats生成动态统计图
May 21 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
php中memcache 基本操作实例
May 17 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
PHP使用文件锁解决高并发问题示例
Mar 29 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 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安全配置
2006/10/09 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
javascript 写类方式之五
2009/07/05 Javascript
js确定对象类型方法
2012/03/30 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Python Json数据文件操作原理解析
2020/05/09 Python
python生成word合同的实例方法
2021/01/12 Python
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
文明寄语大全
2014/04/11 职场文书
任命书怎么写
2015/03/02 职场文书
领导新年致辞2016
2015/07/29 职场文书