PHP代码优化技巧大盘点

原文:PHP代码优化技巧大盘点

  PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。本文给大家提供全面的优化技巧。

  1、echo比print快。

  2、使用echo的多重参数代替字符串连接。

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

  4、对global变量,应该用完就unset()掉。

  5、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。

  6、函数代替正则表达式完成相同功能。

  7、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。

  8、使用选择分支语句(switch case)好于使用多个if,else if语句。

  9、利用var_dump进行PHP代码调试。如果你在寻找php调试技术,我必须说var_dump应该是你要找的目标,在显示php信息方面这个命令可以满足你的所有需要,而调试代码的多数情况与得到PHP中的数值有关。

  10、在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。

  11、动辄创建全局数值是一种糟糕的做法,不过有时候实际情况的确又需要这么做。对于数据库表或数据库连接信息使用全局数值是一个不错的想法,但不要在你的PHP代码中频繁使用全局数值。另外,更好的一种做法是把你的全局变量存放在一个config.php文件中。

  12、如果你想知道脚本开始执行的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。

  13、打开apache的mod_deflate模块。

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

  15、尽量采用大量的PHP内置函数。

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

  17、派生类中的方法运行起来要快于在基类中定义的同样的方法。

  18、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)

  19、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。

  20、正如之前提到的,任何php网站中最重要的部分有99%的可能是数据库。因此,你需要非常熟悉如何正确的使用sql,学会关联表和更多高级的数据库技术

  21、调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。

  22、当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回zval结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。

  23、并不是所有情况都必须使用面向对象开发,面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

  24、除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。

时间: 2024-09-19 15:10:41

PHP代码优化技巧大盘点的相关文章

方小丰:淘宝推广技巧大盘点

中介交易 SEO诊断 淘宝客 云主机 技术大厅 随着淘宝七月新规则的发布,越来越多的新卖家在群里向我抱怨淘宝的不是,我让他们把流量统计发给我看下,几十个IP,其实已经很不错了,对于几星的小卖家来说,当然有一部分卖家确实是流量突然下降的很厉害,而且他们还不是新卖家,我想关于这个问题,主要还是要一条一条地根据淘宝的规则来分析.淘宝公布的卖家SEO作弊的手段包括:炒作信用.虚假交易.故意放错类目.重复铺货.重复开店.堆砌关键词.广告商品.虚假邮费.无货空挂等. 其实卖家心里很清楚,很多人是违规了,所以

当今游戏大作share的特性大盘点

极品游戏制作时的考虑要素大盘点     不知不觉入坑Steam已近4年,虽然说Steam的毒性让很多人走向一条不归路,但是想我这样即使"中毒"还是很快乐很感恩的.那么本期文章就谈谈我对其中一些优秀作品的共性的一个总结,共列举了共31个特性,其中甚至还有一些还未实现但我很期望的新特性(一定要看到最后哦).这些特性共同成就了一部部优秀的游戏作品,让他们走向IGN的排行榜首页.本文全为知识共享,没有商业意图,那下面就开始吧(排名不分先后).     1.3D画面 一个主流的电子游戏,你首先得

2009中国十大网络营销策划机构大盘点

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2009中国十大网络营销策划机构大盘点 回顾2008年,国内为数不多的网络营销策划机构逐渐得到企业的认可,并被社会化媒体广泛关注.2009年,网络营销服务市场进一步得到规范,从单一服务体系到网络整合营销策划,涌现出更多优秀的网络营销策划机构.展望2010年,网络营销对于改善企业销售模式的作用越来越大,网络营销服务市场将会得到突飞猛进的发展. 针对在搜索引擎的良好表现,且在业界有一定影响力的专业网络营销策划机构进行2009年年终盘点,希望2010年网

美图拍拍MM最喜欢的7个自拍姿势大盘点

美图拍拍大盘点:MM最喜欢的7个自拍姿势,大家可以使用美图拍拍多多练习咯,让你的拍照时游刃有余,令人羡慕不已,你还在等势面? 一.剪刀手 这个是最大众也是最经典的招式了,通过一只"剪刀手"就会把可爱.俏皮演绎得淋漓尽致,赶快试试! 图1 二.猫爪式 猫爪式就是将一只手做成类似猫爪的形状放在脸的一侧,一方面可以很好的遮盖脸部,让脸显得更小;另一方面也非常可爱俏皮!记得做这个姿势要睁大眼睛! 图2 三.性感式 耍性感,通常可以通过撩头发来表现.头发随意地遮盖在脸颊上,用手托住再加上妩媚的眼

NoSQL数据库大盘点 优势劣势面面观

文章讲的是NoSQL数据库大盘点 优势劣势面面观,NoSQL数据库现在已经变得非常流行了,在NoSQL这个大概念下实际上包含了大量的方式与项目,旨在实现各种数据库模型,他们与传统的关系型数据库管理系统存在着非常大的差别,而传统的关系型数据库系统是通过SQL的方式来访问数据的.在NoSQL领域中,传统观念中的模式可以通过不同的数据结构来实现,如散列表.数组.树.图等等. 术语"NoSQL"最早出现在上个世纪90年代末期,然而真正为大家所熟知则是在2009年中期.起初,它只是由Carlo

大势所趋与各具特色 超融合市场玩家大盘点

要说现在服务器市场什么最火,应该属超融合.在过去的一年,超融合销售额一直保持着两位数增长.不管是硬件厂商还是软件厂商,都在试图切入到超融合市场. 超融合基础架构(简称"HCI"),是指在同一套单元设备(x86服务器)中具备计算.网络.存储和服务器虚拟化等资源和技术,多节点可以通过网络聚合起来,实现模块化的无缝横向扩展,形成统一的资源池. HCI起初是受到Google.Facebook等大型互联网公司通过软件定义技术构建大规模数据中心的启发,采用计算存储融合架构用于虚拟化环境,为企业客户

网络安全“攻防战”:“魔”“道”大盘点

2016国家网络安全宣传周25日在武汉落下帷幕.在看不见.摸不着的网络空间里,安全问题正成为牵动公众神经的焦点.公众网络生活面临哪些新陷阱.新诈骗手段?网络安全的守护者们又有哪些新的"撒手锏"?安全周上,专家学者.互联网大伽.网络安全企业纷纷出招,为公众网络安全的"魔""道"之争提出新的"攻防策略". 你不可不知的网络陷阱大盘点 手机病毒.二维码扫描.虚假WiFi.伪基站.钓鱼网站.个人信息泄露--互联网在带给我们更方便.更舒

年底大盘点:智能家居2016年的“新”机遇

 2016年,多家网盘关停了,但是智能家居领域对云端的追逐更火热:家电行业遇冷了,但是C端耳熟能详的品牌都开始布局智能家居了:安防展规模小了,但是家庭安防的智能锁竟在双11脱销了:资本市场寒冬了,但是对智能家居领域的投资额越来越大了:人类下围棋输了,但是AI.大数据与智能产品的联系更紧密了:经济体新常态了,但是智能家居市场发展的速度愈发加快了! 年底大盘点:智能家居2016年的"新"机遇 新生态·开放心态面对新市场 随着智能家居企业之间的合作范围更广.更深,心态也愈加开放,一年间众多从

开年显卡市场热点大盘点

第1页开年显卡市场热点大盘点 历新年假期过去了一周时间,商家和厂商们都陆陆续续地从家乡回来,电脑城里装机的人流还不算太多,但显卡市场却有很多产品都打出了降价和促销的价格以争夺开学前的一个装机小热潮的市场.而AMD在节前发布的Radeon HD7970在节后终于开始铺货,这无疑吸引了很多玩家关注,不过改卡目前价格还相当昂贵,只有顶级发烧玩家才能享用. 在所有的DIY配件中,显卡应该算是最热门的产品之一了.由于品牌和型号非常多,一个地区的总代理也不可能备货该品牌的所有型号,再加上暂时的缺货等原因,网