提升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为什么选mysql作为数据库? Mysql 创建用户方法
Jul 02 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
PHP实现的json类实例
Jul 28 PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
php递归函数怎么用才有效
Feb 24 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
php数组和链表的区别总结
Sep 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
Python中Django发送带图片和附件的邮件
2017/03/31 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
python web框架中实现原生分页
2019/09/08 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
前台文员岗位职责
2013/12/28 职场文书
党建示范点实施方案
2014/03/12 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
企业环保标语
2014/06/10 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
单位委托函范文
2015/01/29 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书