PHP提高编程效率的20个要点


Posted in PHP onSeptember 23, 2015

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

2、$row['id'] 的速度是$row[id]的7倍。

3、echoprint 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

5、注销那些不用的变量尤其是大数组,以便释放内存。

6、尽量避免使用__get,__set__autoload

7、require_once()代价昂贵。

8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。

9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME']要好于time()

10、函数代替正则表达式完成相同功能。正则效率一般会低于函数

11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。

12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

14、用@屏蔽错误消息的做法非常低效,极其低效。

15、打开apachemod_deflate模块,可以提高网页的浏览速度。

16、数据库连接当使用完毕时应关掉,不要用长连接。

17、错误消息代价昂贵。

18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

19、递增一个全局变量要比递增一个局部变量慢2倍。

20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

21、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。

22、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。

23、用单引号代替双引号来包含字符串,

以上给大家列出了20几条有关提高php编程效率的要点,希望对大家有所帮助。

PHP 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
ThinkPHP独立分组使用的注意事项
Nov 25 PHP
php中fsockopen用法实例
Jan 05 PHP
php遍历CSV类实例
Apr 14 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 #PHP
php设置页面超时时间解决方法
Sep 22 #PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 #PHP
PHP判断字符串长度的两种方法很实用
Sep 22 #PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 #PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
Sep 22 #PHP
PHP实现搜索相似图片
Sep 22 #PHP
You might like
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
用户注册常用javascript代码
2009/08/29 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
作弊检讨书1000字
2014/02/01 职场文书
2014政务公开实施方案
2014/02/19 职场文书
农村婚礼主持词
2014/03/13 职场文书
应届大专生求职信
2014/06/26 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript