提升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读取超大文件的实例代码
Apr 01 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
Oct 27 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 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购物车实现代码
2011/10/10 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
django中的ajax组件教程详解
2018/10/18 PHP
prototype1.4中文手册
2006/09/22 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
原生JS实现顶部导航栏显示按钮+搜索框功能
2019/12/25 Javascript
Nest.js 授权验证的方法示例
2021/02/22 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
Python chardet库识别编码原理解析
2020/02/18 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
大二学期个人自我评价
2014/01/13 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
《雪儿》教学反思
2014/04/17 职场文书
小学假期安全广播稿
2014/09/28 职场文书
MYSQL常用函数介绍
2022/05/05 MySQL