提升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(二)
Oct 09 PHP
怎样在UNIX系统下安装MySQL
Oct 09 PHP
How do I change MySQL timezone?
Mar 26 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
微信自定义分享php代码分析
Nov 24 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 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
抓取YAHOO股票报价的类
2009/05/15 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
医药个人求职信范文
2014/01/29 职场文书
个人自我评价范文
2014/02/05 职场文书
学生会离职感言
2014/02/11 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫