提升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笔试题
Aug 04 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
php中url传递中文字符,特殊危险字符的解决方法
Aug 17 PHP
获取URL文件名后缀
Oct 24 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
php数值转换时间及时间转换数值用法示例
May 18 PHP
php实现小程序支付完整版
Oct 09 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
php中常用编辑器推荐
2007/01/02 PHP
swfupload 多文件上传实现代码
2008/08/27 PHP
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
php url路由入门实例
2014/04/23 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
Python编程之event对象的用法实例分析
2017/03/23 Python
Python调用服务接口的实例
2019/01/03 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
如何利用find命令查找文件
2016/11/18 面试题
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android