当前信息:新手程序员的代码写不好怎么办?38条PHP优化代码
其实,很多在刚刚入行做程序员的同学,往往会进入到一个误区,就是不达目的决不罢休!在通常情况下,新手程序员的代码写的会比较繁琐,整体来说就是因为对于代码的不熟悉!所以,在你成为真正大牛的时候再回头看看之前写的代码,会感觉曾经的自己弱爆了,哈哈!那么,培养一个良好的编写习惯和方法是尤为重要的!千锋教育就总结了以下经验优化,希望可以给给位准大牛们带来帮助!
1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4;
2.echo的效率高于print,因为echo没有返回值,print返回一个整型;
【资料图】
3.在循环之前设置循环的最大次数,而非在在循环中;
4.销毁变量去释放内存,特别是大的数组;
5.避免使用像__get, __set, __autoload等魔术方法;
6.requiere_once比较耗资源;//hhhtfxzgjy
7.在includes和requires中使用绝对路径,这样在分析路径花的时间更少;
8.如果你需要得sexinsex到脚本执行时的时间,$_SERVER["REQUSET_TIME"]优于time;
9.能使用字符处理函数的,尽量用他们,因为效率高于正则;//ujiuye.com/neimeng
10.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4;
11.如果一个函数既能接受数组又能接受简单字符做为参数,例如字符替换,并且参数列表不是太长,可以考虑多用一些简洁的替换语句,一次只替换一个字符,而不是接受数组做为查找和替换参数。大事化小,1+1>2;
12.用@掩盖错误会降低脚本运行速度;
13.$row["id"]比$row[id]速度快7倍,建议养成数组键加引号的习惯;
14.错误信息很有用;
15.在循环里别用函数,例如For($x=0; $x < count($array); $x), count函数在外面先计算;
16.在方法里建立局部变量速度最快,97xxoo几乎和在方法里调用局部变量一样快;
17.建立一个全局变量要比局部变量要慢2倍;
18.建立一个对象属性(类里面的变量)例如($this->prop++)比局部变量要慢3倍;
19.建立一个未声明的局部变量要比一个初始化的局部变量慢9-10倍;
20.声明一个未被任何一个函数使用过的全局变量也会使性能降低(和声明相同数量的局部变量一样),PHP可能去检查这个全局变量是否存在;
21.方法的性能和在一个类里面定义的方法的数目没有关系,因为我添加10个或多个方法到测试的类里面(这些方法在测试方法的前后)后性能没什么差异;
在子类里方法的性能优于在基类中;
23.只调用一个参数并且函数体为空的函数运行花费的时间等于7-8次$localvar++运算,而一个类似的方法(类里的函数)运行等于大约15次$localvar++运算;
24.Surrounding your string by ‘ instead of ” will make things interpret a little faster since PHP looks for variables inside “…” but not inside ‘…’. Of course you can only do this when you don’t need to have variables in the string.
25.当输出字符串时用逗号代替点分割更快些。注意:这只对echo起作用,这个函数能接受一些字符串作为参数;
26.在apache服务器里一个PHP脚本页面比相应的HTML静态页面生成至少要多花2-10倍的时间,建议多用些静态HTML页面和少量的脚步;
27.除非你的安装了缓存,不然你的PHP脚本每次被访问都需要被重编译。建议安装个PHP缓存程序,这样通过去除一些重复的编译来很明显的提高你20-100%的性能;
28.建议用memcached,高性能的分布式内存对象缓存系统,提高动态网络应用程序性能,减轻数据库的负担;
29.使用ip2long和long2ip函数把IP地址转成整型存放进数据库而非字符型。这几乎能降低1/4的存储空间。同时可以很容易对地址进行排序和快速查找;
30.使用checkdnsrr通过域名存在性来确认部分email地址的有效性,这个内置函数能保证每一个的域名对应一个IP地址;//PHP100.com
31.如果你在使用PHP5和mysql4.1以上的版本,考虑使用mysql_*的改良函数mysqli_*;
32.试着喜欢使用三元运算符(?:);
33.在你想在彻底重做你的项目前,看看PEAR有没有你需要的。PEAR是个巨大的资源库,很多PHP开发者都知道;
使用highlight_file能自动打印一份很好格式化的页面源代码的副本;
35.使用error_reporting(0)函数来预防潜在的敏感信息显示给用户。理想的错误报告应该被完全禁用在PHP.ini文件里。可是如果你在用一个共享的虚拟主机,PHP.ini你不能修改,那么你最好添加error_reporting(0)函数,放在每个脚本文件的第一行(或用 require_once来加载)这能有效的保护敏感的SQL查询和路径在出错时不被显示;
36.使用 gzcompress和gzuncompress对容量大的字符串进行压缩(解压)在存进(取出)数据库时。这种内置的函数使用gzip算法能压缩到90%;
37.通过参数变量地址得引用来使一个函数有多个返回值。你可以在变量前加个“&”来表示按地址传递而非按值传递;
38.使用strlen因为要调用一些其他操作例如lowercase和hash表查询所以速度不是太好,我们可以用isset来实现相似的功能,isset速度优于strlen;
标签:
相关推荐:
最新新闻:
- 马赫带效应是什么?马赫带效应的定义
- 如何在oracle中导入dmp数据库文件?
- 如何区分光伏系统中的“李逵”与“李鬼”?
- 【全球时快讯】shutdown和close的区别 Sockfd如何关闭socket的描述符?
- 逐鹿工具显示服务器错误连接不上怎么解决?解决方法如下
- 网络广告类型有哪些?网络营销广告的类型(CPC、CPM、CPA、CPS, CTR)|焦点快播
- 挪威国宝级女歌手:一首炽热的英文情歌-当前看点
- 《英雄联盟比赛服》怎么下载?英雄联盟比赛服-观点
- 当前信息:新手程序员的代码写不好怎么办?38条PHP优化代码
- 环球即时:微信如何开通直播?微信开通直播的方法
- 【雅思阅读】最好的雅思课程-阅读部分全集
- 数学小知识汇总 矩阵范数、梯度和梯度场的区别-全球资讯
- 粘粘世界worldofgoo攻略 《粘粘世界 world of goo》怎么下载?:全球动态
- Cygames即将发布《小小诺娅:乐园继承者》的新公告
- 多人弹幕射击游戏《黑白之地》Steam页面上线 支持简体中文_当前关注
- 2022年PlayStation游戏七大趋势:交界地的喘息
- 每日速看!松下电饭煲将告别日本制造 移交给中国工厂生产
- 天天观点:暴雪子公司Proletariat收购6个月后试图成立工会
- 《星空》玩家将有前往地球的机会 那地球会是什么样?:天天速看料
- 阿凡达2全球票房破10亿美元 走势优于预期
- 打不开192.168.1.1怎么办?打不开192.168.1.1解决方法
- WIN10如何修复操作系统?超详细的五种解决方法
- iphone已被停用怎么办 教你两招轻松解除停用状态
- 图片水印如何去除?推荐3种去水印的好方法
- 戴尔笔记本能换显卡吗?笔记本电脑显卡和台式机显卡有什么区别?
- 如何修改注册表路径?通过注册表修改软件安装路径
- 电脑怎么终止自动关机命令?电脑解除自动关机命令方法
- 休眠快捷键如何设置?键盘休眠状态设置技巧
- 电脑突然蓝屏怎么办?处理电脑蓝屏的正确方法
- 条形码打印机怎么换碳带?更换打印机碳带详细步骤
- 风云防火墙使用教程 防火墙的使用技巧
- 复印机卡纸了怎么弄出来?解读复印机为什么会卡纸?
- 打印机墨盒怎么加碳粉?打印机加碳粉教程
- windowsxp怎样重装系统?重装系统教程
- 电信托管服务器的好处 服务器托管的安全性
- 笔记本键盘保护膜有必要吗?键盘膜优缺点有哪些?
- 车载mp3播放器怎么使用?车载mp3播放器使用方法
- h3cs5500交换机配置教程 解析H3C华三交换机的配置命令
- 金山毒霸2009卸载不了怎么办?完美卸载金山毒霸的方法
- sc光纤跳线连接方法 sc光纤跳线注意事项
- 尼尔德鲁克曼:《最后生还者》剧集会是最好的游改剧集
- 当前速看:《艾尔登法环》荣获106项年度游戏奖 2022年度游戏
- 42岁广末凉子时隔22年再出写真 招牌笑容依旧少女感
- 苹果跨年福利被指优惠力度低 网友吐槽是在清库存
- 当前快播:《暗黑破坏神4》新短片欣赏 英雄大战地狱军团!
- 今日聚焦!摆脱三季度阴霾,容百Q4利润环比涨超120% | 见智研究
- 精选!休·杰克曼:《死侍3》故事发生在《金刚狼3》之前
- 《宝可梦:大集结》“多龙巴鲁托”演示 12月29日上线
- iPhone车祸检测误报太多 占用过多救援资源
- 放开之后,县城和农村在发生什么?
- iPhone 15或将告别直角设计 新设计手感更好:全球最新
- RTX 4070Ti性能曝光 比RX 3090Ti还要强-环球观焦点
- 每日观察!Capcom开展网络调查 填完问卷可获限定壁纸
- 能源危机下的众生相:德国重回“燃煤”时代,中东豪掷千金奔向清洁能源_每日聚焦
- 天天快报!性价比碾压小米13?Redmi K60系列发布会汇总
- 环球热议:学AMD大涨价!Intel新一代平民主板来了:这涨幅不小
- 【世界时快讯】AMD最便宜的Zen4处理器要上新了:1月10日上市
- 消息称任天堂的确考虑过Switch Pro不过已改变策略
- 菲尼克斯NT参战《机动战士高达:激战任务2》_世界要闻
- 全球微资讯!海外版拼多多成美国下载量最高App
- 已做工商变更 微念与李子柒达成和解
- 测试画面放出 淘宝将在春节期间推出首个元宇宙直播间
- 超越PS4!Switch全球销量1.18亿台:史上销量第四主机-重点聚焦
- 宏碁发布27英寸暗影骑士电竞显示器:100Hz刷新率 仅679元
- 口碑稀烂破纪录?网飞《猎魔人:血源》好评率仅8%
- Epic喜加一:《Severed Steel》免费领取_全球播报
- 全球即时:另一家动视暴雪工作室Proletariat正在组建工会
- RTX 4080移动版跑分来了!42%碾压移动版3080-世界观天下
- 外媒评2022最难的15款游戏:《老头环》《战神》等_每日时讯
- GOG喜加一:《百战天虫:革命》黄金版免费领
- 越南这波资本外流告一段落了-今日精选
- 3299起我要冠军版!红米K60Pro还是你的菜吗?:全球观热点
- 世界要闻:2199元起!小米Redmi K60 E发布:天玑8200+2K 直屏
- Redmi K60 Pro发布:3299元2K旗舰跑分135万
- 每日消息!玩家抱怨PS5经常弹出“无法同步数据”:早该解决了