提升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 相关文章推荐
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
thinkphp缓存技术详解
Dec 09 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
Yii2汉字转拼音类的实例代码
Apr 18 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php面试实现反射注入的详细方法
Sep 30 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
如何选购合适的收音机
2021/03/01 无线电
php 中文处理函数集合
2008/08/27 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php 安全过滤函数代码
2011/05/07 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python操作mysql数据库
2017/03/05 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
django中forms组件的使用与注意
2019/07/08 Python
WxPython实现无边框界面
2019/11/18 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
2015毕业生实习工作总结
2014/12/12 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js