PHP编程优化的10条秘诀

PHP编程优化的10条秘诀:
(1)foreach效率更高,尽量用foreach代替while和for循环
(2)循环内部不要声明变量,尤其是对象这样的变量
(3)在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环放在外层,从而减少cpu跨循环层的次数,优化程序性能
(4)用单引号替代双引号引用字符串以实现PHP性能优化
(5)用i+=1代替i=i+1。 符合c/c++的习惯,效率还高
(6)优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作,达到PHP性能优化的目的
(7)尽量的少进行文件操作,虽然PHP的文件操作效率也不低的
(8)尽可能的使用PHP内部函数
(9)在可以用PHP内部字符串操作函数的情况下,不要用正则表达式
(10)feof、fgets、fopen、在可以用file_get_contents替代file、系列方法的情况下,尽量用
file_get_contents,因为它的效率高得多。 但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题。

时间: 2024-10-10 03:50:44

PHP编程优化的10条秘诀的相关文章

MySQL SQL语句优化的10条建议

1.将经常要用到的字段(比如经常要用这些字段来排序,或者用来做搜索),则最好将这些字段设为索引 2.字段的种类尽可能用int或者tinyint类型.另外字段尽可能用not null 3.当然无可避免某些字段会用到text,varchar等字符类型,最好将text艾段的单独出另外一个表出来(用主键关联好) 4.字段的类型,以及长度,是一个很考究开发者优化功力的一个方面.如果表数据有一定的量了,不妨用PROCEDURE ANALYSE()命令来取得字段的优化建议!(在phpmyadmin里可以在查看

Apache 优化配置10条建议

之前VPS使用的是默认的Apache配置,感觉还行,不过随着博客的人流量上升,显然这种配置无法满足需求了:下面是Apache官方手册中给出的几条优化配置建议,笔者将其整理出来,对Apache服务器的运行效率是有帮助的. 控制MaxClients的设置,以避免服务器产生太多的子进程而发生交换. 进程间的数据交换会占用很大内存,数据交换产生的滞后使用户总感觉”不够快”,所以用户就可能去按”停止”和”刷新”,从而带来更大的负载.一般建议小网站将MaxClients设置为12~24. 选择更好的硬件,C

10条没人告诉你的创意秘诀

艺术家 Austin Kleon 的著书<像艺术家一样去偷:10条没人告诉过你的创意要诀>篇幅不长,却给初出茅庐的艺术家们(有创意的那类)提供了许多有益的指导. 1. 像艺术家一样去偷 青涩的诗人会模仿:成熟的诗人会偷:蹩脚的诗人只会糟蹋拿来的东西有才的诗人则把它们改得更好,或者至少能有所创变. Austin 认为,创意的作品总是建立在先例的基础上,因此没有什么是绝对原创的.他建议我们把世界上所有的东西都看成值得偷和不值得偷的两种.要偷那些能让你(或者是你的事业)出类拔萃的东西.作者还补充说,

【MySQL】10条SQL优化语句,让你的MySQL数据库跑得更快!

慢SQL消耗了70%~90%的数据库CPU资源: SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低: SQL语句可以有不同的写法: 1 不使用子查询 例:SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang'); 子查询在MySQL5.5版本里,内部执行计划器是这样执行的:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时,查询速度会非常慢.在Mari

App适配iPhone 6/ Plus和iOS 8:10条小秘诀

(原文:raywenderlich 作者:Jack Wu 译者:@TurtleFromMars) 过节啦!为庆祝佳节,看看我给这篇文章写的这段极客小诗吧: “Keynote前夜,无人知晓,新API能否登场对Siri的期待,Touch ID的希望而此刻iOS 8应声而出,震惊全场扩展,Swift,Metal,整整一箩筐通用Storyboard,又有谁曾料想一片欢呼声中,有人开始迷惘现有的这些App,适配问题实在惆怅不过不必担心,因为这篇教程会与您讲讲新的API和屏幕尺寸,助你的App焕发容光遵循十

201506150846_《JavaScript权威指南(第六版)——性能优化10条、小写转大写、过滤、函数》(P162-168)

一. 权威指南 1. 对于类数组对象,我们不能用数组方法,但是我们可以用 Function.call(); 例如: Array.prototype.slice.call(arr,...); Array.prototype.silice.call(arr,...); Array.prototype.map.call(arr,...); 二. 性能优化10条 1.  var someId = document.getElementById('#someElem');  改成:  var docu =

10条SQL优化语句,让你的MySQL数据库跑得更快!

慢SQL消耗了70%~90%的数据库CPU资源: SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低: SQL语句可以有不同的写法: 1 不使用子查询 例:SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang'); 子查询在MySQL5.5版本里,内部执行计划器是这样执行的:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时,查询速度会非常慢.在Mari

解决拿蛋问题的时候,通过几个shell脚本运算速度对比,体会了算法和编程优化的重要性

前几天,一位同学在群里提出一个拿蛋的问题,原题如下: 有一筐鸡蛋, 1个1个拿,正好拿完 2个2个拿,正好拿完 3个3个拿,正好拿完 4个4个拿,剩下2个 5个5个拿,剩下4个 6个6个拿,正好拿完 7个7个拿,剩下5个 8个8个拿,剩下2个 9个9个拿,正好拿完 求:筐里一共有多少鸡蛋? 请使用脚本方式,计算鸡蛋总数! 个人感觉这个题目写的不严谨,因为至少我没看明白,这道题问的到底是"这个筐里最少有多少鸡蛋?"还是"筐里鸡蛋总数在某一范围之内(比如这个筐里最多能装10000

学习Java设计模式的10条建议

设计模式在整个Java的学习路线图中扮演着承上启下的作用. 在整个软件生命周期中,唯一不变的就是变化.设计模式就是要在软件设计.编码中对现有问题的一种总结,并从中寻求应对变化的策略. 自己初次接触设计模式有以下几个感觉: 内容很抽象. 示例都能看得懂,但不知道实际中如何应用. 不理解为什么要把“好好的程序”设计成这么复杂? 转眼之间到了需要自己参与需求分析.设计,并且维护之前留下的遗产代码(Legacy Code)的时候了. 再次开始学习设计模式,有了新的收获: 站在变化的角度去看,设计模式虽然