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 相关文章推荐
PHP与SQL注入攻击[二]
Apr 17 PHP
php生成xml简单实例代码
Dec 16 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
PHP新手用的Insert和Update语句构造类
Mar 31 PHP
PHP 透明水印生成代码
Aug 27 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
PHP时间函数使用详解
Mar 21 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
PHP操作文件方法问答
2007/03/16 PHP
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
js判断浏览器类型的方法
2013/08/07 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
学习vue.js计算属性
2016/12/03 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
Python多进程同步简单实现代码
2016/04/27 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python编码类型转换方法详解
2016/07/01 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
python实现三维拟合的方法
2018/12/29 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
python如何支持并发方法详解
2020/07/25 Python
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
公司感谢信范文
2015/01/22 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
材料员岗位职责范本
2015/04/11 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL