提升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 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
ADODB的数据库封包程序库
Dec 31 PHP
php Smarty初体验二 获取配置信息
Aug 08 PHP
php实现斐波那契数列的简单写法
Jul 19 PHP
php动态添加url查询参数的方法
Apr 14 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
PHP使用Redis替代文件存储Session的方法
Feb 15 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
用Socket发送电子邮件
2006/10/09 PHP
调整PHP的性能
2013/10/30 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
利用python获取Ping结果示例代码
2017/07/06 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
Python pymongo模块用法示例
2018/03/31 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
简述数组与指针的区别
2014/01/02 面试题
物流司机岗位职责
2013/12/28 职场文书
迎八一活动主题
2014/01/31 职场文书
仓管岗位职责范本
2014/02/08 职场文书
软环境建设心得体会
2014/09/09 职场文书
面试通知单大全
2015/04/20 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
运动员代表致辞
2015/07/29 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python