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新手上路(八)
Oct 09 PHP
php学习 函数 课件
Jun 15 PHP
smarty section简介与用法分析
Oct 03 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
windows7配置Nginx+php+mysql的详细教程
Sep 04 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
php简单检测404页面的方法示例
Aug 23 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
php跨服务器访问方法小结
2015/05/12 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
js Function类型
2011/12/04 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
详细探究Python中的字典容器
2015/04/14 Python
Python使用django获取用户IP地址的方法
2015/05/11 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
python找出完数的方法
2018/11/12 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
解决python replace函数替换无效问题
2020/01/18 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
C语言笔试题
2014/09/04 面试题
金融专业大学生自我评价
2014/01/09 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
2014年部门工作总结
2014/11/12 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis