提升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 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
php 数据库字段复用的基本原理与示例
Jul 22 PHP
使用迭代器 遍历文件信息的详解
Jun 08 PHP
PHP中session变量的销毁
Feb 27 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
PHP SplObjectStorage使用实例
May 12 PHP
PHP实现关键字搜索后描红功能示例
Jul 03 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
初识Laravel
2014/10/30 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
党员自我剖析材料范文
2014/10/06 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis