提升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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
文件系统基本操作类
Nov 23 PHP
php设计模式 Proxy (代理模式)
Jun 26 PHP
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
分享3个php获取日历的函数
Sep 25 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
Nov 30 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
Yii2实现自定义独立验证器的方法
May 05 PHP
自制PHP框架之模型与数据库
May 07 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 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(三)
2012/03/22 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
javascript 用函数语句和表达式定义函数的区别详解
2014/01/06 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
[03:01]DOTA2英雄基础教程 露娜
2014/01/07 DOTA
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Python的历史与优缺点整理
2020/05/26 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
日本无添加化妆品:HABA
2016/08/18 全球购物
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
防灾减灾日活动总结
2014/08/26 职场文书
政风行风评议工作总结
2014/10/21 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
党员自我评价范文2015
2015/03/03 职场文书
护士心得体会范文
2016/01/25 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书