PHP代码优化小笔记
1.十万级以上次执行情况,方法可以被静态化,考虑声明为静态。html静态页面速度更快
2.echo 替换print;echo时逗号连接符替换点号连接符
3.循环之前设置循环最大次数,循环参数不要使用函数,循环内部尽量避免大变量的声明;尽量用foreach替换while和for
4.销毁变量去释放内存
5.避免滥用魔法函数
6.require_once() /include_once()比较耗费资源
7.在includes和requires中使用绝对路径
8.$_SERVER['REQUEST_TIME']优于time()
9.可以不用正则的情况,请拒绝使用
10.参数为mix的情况,尽量用str/int
11.尽量不使用@
12.数组键名尽可能加引号
13.效率 优先级从左到右降低 :局部变量>全局变量>对象属性 已定义过的局部变量>>未声明的局部变量
14.ip地址存为整型 使用ip2long和long2ip
15.error_reporting(0)预防敏感信息泄露。
16.gzcompress()和gzuncompress()对容量大的字符串进行压缩。
17.某些情况下,使用isset替换strlen
<?php
$foo='abcdef';
if(strlen($foo)==6){echo 'true';}
echo '<br/>---<br/>';
if(isset($foo{5})){echo "yes";}
18.尽量减少变量复制
19.某些条件下 switch case替换if else
20.file_get_contents优于file/fopen/feof/fgets
21.文件操作速率高于数据库操作
推荐阅读:http://www.cnblogs.com/glory-jzx/archive/2012/08/21/2649712.html
PHP代码优化小笔记的更多相关文章
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- 小笔记:Timer定时间隔时间操作
小笔记:Timer定时间隔时间操作,后面有时间再补充和完善: public class TimingSvc { /// <summary> /// 定时器,执行定时任务 /// </ ...
- 关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
- Linux下postgres9.4 版本的单机版安装小笔记
1.添加RPMyum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-redha ...
- 深入剖析Nginx一点小笔记
前几天在图书馆看书,恰好看到这本<深入剖析nginx>,花了快一周的时间看完了这本书,写点笔记心得便于以后复习. 以前对nginx的认识就只是停留在一个反向代理服务器上.百度了一下ngin ...
- Git-rebase 小笔记
转自: https://blog.yorkxin.org/posts/2011/07/29/git-rebase/ 最近刚好有个机会整理很乱的Git commit tree,终于搞懂了rebase 的 ...
- css通用小笔记03——浏览器窗口变小 div错位的问题
我最近写网页的时候,经常碰到一个普遍的问题,经过我的查阅和尝试,终于解决了这一问题,这里有两种方法提供给大家,如果博友还有更好的方法,欢迎补充. 一.使用min-width属性: 我们先看看下面这段代 ...
- css通用小笔记01——导航背景
很多刚接触前端的可能遇到一些css能解决的小问题,我现在总结了一些,将会逐渐和大家分享,先是导航的背景问题,在网页中常常看到,当鼠标放到一个导航按钮上面是,就会出现一些特效,比如背景,这是最常用的,我 ...
- getAttribute()方法的使用小笔记
今天在某课网上复习js,突然卡在一个小例子上.反复做了几遍就是报错.终于查询w3c才找到错误的源头. 这里记录一下,谨防以后又忘了. 错误码: <body> <p id=" ...
随机推荐
- REPLACE(替换字段内容)
语法: REPLACE <str1> WITH <str2> INTO <c> [LENGTH <l> ]. ABAP/4 搜索字段 <c> ...
- 开启一个项目如何上传到git
1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...
- LeetCode:20. Valid Parentheses(Easy)
1. 原题链接 https://leetcode.com/problems/valid-parentheses/description/ 2. 题目要求 给定一个字符串s,s只包含'(', ')', ...
- Fiddler 发送post 请求失败
今天服务端同事,让我发一个post 请求.然后呢,一直有问题.告诉我签名失败. 后来换了其他的在线模拟post,都是可以的. 后来找到原因了, post 请求,必须要有Content-Type 和 C ...
- DecimalFormat的用法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. DecimalFormat 包含一个模式 和一组符符号含义: 0 一个数字 # 一个数字,不包括 0 ...
- laravel+vue结合使用
SegmentFault 首页 问答 专栏 讲堂 圈子 发现 搜索 立即登录免费注册 在 SegmentFault,学习技能.解决问题 每个月,我们帮助 1000 万的开发者解决各种各样的技术 ...
- android开源项目之OTTO事件总线(一)
Otto是由Square发布的一个着重于Android支持的基于Guava的强大的事件总线,在对应用程序不同部分进行解耦之后,仍然允许它们进行有效的沟通. 开源项目地址:https://github. ...
- 《python核心编程第二版》第3章习题
3-1. 标识符.为什么 Python 中不需要变量名和变量类型声明? 答: 对象的类型和内存占用都是运行时确定的. 尽管代码被编译成字节码,Python 仍然是一种解释 型语言. 在创建也就是赋值时 ...
- python 基础篇 04(列表 元组 常规操作)
本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...
- 1107 Social Clusters (30 分)(并查集)
并查集的基本应用 #include<bits/stdc++.h> using namespace std; ; vector<int>vec[N]; int p[N]; con ...