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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
php foreach、while性能比较
Oct 15 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 PHP
laravel批量生成假数据的方法
Oct 09 PHP
php接口隔离原则实例分析
Nov 11 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
19个Android常用工具类汇总
2014/12/30 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python标准日志模块logging的使用方法
2013/11/01 Python
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
如何使用python切换hosts文件
2020/04/29 Python
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
马云的职业生涯规划之路
2014/01/01 职场文书
项目经理任命书内容
2014/06/06 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js