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学习 运算符与运算符优先级
Jun 15 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
浅析php变量修饰符static的使用
Jun 28 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
php生成图片缩略图的方法
Apr 07 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
漂亮的thinkphp 跳转页封装示例
Oct 16 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 split()函数的用法详解
2013/06/05 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
PHP 中常量的知识整理
2017/04/14 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
简单了解什么是神经网络
2017/12/23 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
Python 下载及安装详细步骤
2019/11/04 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
专业毕业生个性的自我评价
2013/10/03 职场文书
职专应届生求职信
2013/11/16 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
公司合作意向书范文
2014/07/30 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技