PHP开发小技巧,让你瞬间提升逼格
说到PHP代码的优化,PHP开发的小技巧我想很多人都有自己的一套,下面分享一些小技巧,希望对大家有所帮助。
1、循环内部不要声明变量,尤其是对象这样的变量。
2、foreach效率更高,尽量用foreach代替while和for循环。
3、循环里别用函数
for($x=0; $x < count($array); $x)
//count()函数在外面先计算
4、用i+=1代替i=i+1。符合c/c++的习惯,效率还高。
5、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作,达到PHP性能优化的目的。
6、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的。
7、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式。
// GOOD
$addr = strtr($addr, "abcd", "efgh");
// BAD
$addr = strtr($addr, array('a' => 'e', ));
?>
8、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为它的效率高得多。但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题。
9、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
10、使用选择分支语句,switch case好于使用多个if,else if语句,并且代码更加容易阅读和维护。
11、当echo字符串时用逗号代替点连接符更快些。echo一种可以把多个字符串当作参数的“函数”。echo是语言结构,不是真正的函数,故把函数加上了双引号。例如:echo $str1,$str2
PHP开发小技巧,让你瞬间提升逼格的更多相关文章
- TP开发小技巧
		TP开发小技巧原文地址http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/ ... 
- Windows统一平台: 开发小技巧
		Windows统一平台: 开发小技巧 技巧一: 在手机端拓展你应用的显示区域.(WP8.1中也适用) 对于Windows Phone系统的手机, 手机屏幕最上方为系统状态栏(System Tray), ... 
- flex开发小技巧集锦
		关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ... 
- 移动Web开发小技巧
		移动Web开发小技巧 添加到主屏后的标题(IOS) name="apple-mobile-web-app-title" content="标题"> 启用 ... 
- BizTalk开发小技巧
		BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B ... 
- Java开发小技巧(三):Maven多工程依赖项目
		前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ... 
- iOS开发小技巧 - UILabel添加中划线
		iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f&quo ... 
- PHP开发小技巧②—实现二维数组根据key进行排序
		在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来 ... 
- PHP开发小技巧③—实现多维数组转化为一维数组
		在平常的项目开发中我们多会用到让多维数组转化为一维数组的情况,但是很多Programmer不会将其进行转化,也有些没有想到很好的算法然后经过乱起八糟的运算方式将其勉强转化好,但是所写的程序代码冗余非常 ... 
- PHP开发小技巧①①—php实现手机号码显示部分
		从个人信息保护性的角度来讲,我们在开发过程中总会想办法去保护用户的一些个人信息.就如本篇博文所讲,我们有时会将用户的手机号码只显示出部分,这是很多网站都有做的功能.这个功能实现起来也是特别的简单,只需 ... 
随机推荐
- JavaScript系列----事件机制
			1.事件流 1.1.标准事件流 所谓的标准事件流指的的:EMCAScript标准规定事件流包含三个阶段,分别为事件捕获阶段,处于目标阶段,事件冒泡阶段. 下面是一段html代码,根据代码来说明标准事件 ... 
- Set的常用方法(java)
			一.新增:重复新增的值会被覆盖 代码: Set<String> ss=new HashSet<String>(); ss.add("a");ss.add(& ... 
- c++ const全局对象是如何处理的
			我主要是记录一个发现,目前我不能解释,先作个记录. const 只是一个 语义约束,由编译器强制实施的.使被约束的对象不能被直接访问修改. 我用 『直接』这词,因为在代码段中 ,用一个const 指针 ... 
- 手工搭建基于ABP的框架(3) - 登录,权限控制与日志
			为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7695258.html 本篇将实现登录.权限控制.日志配置与审计日志的功能.首先我 ... 
- Oracle函数sys_connect_by_path 详解
			Oracle函数sys_connect_by_path 详解 语法:Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行.其语法一般为: s ... 
- 使用Python操作excel文件
			使用的类库 pip install openpyxl 操作实现 工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 w ... 
- 非关系型数据库redis-java基本操作
			概述 redis是一个key-value的nosql数据库(非关系型数据库).支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set -- ... 
- shell,bash,zsh,console,terminal到底是什么意思,它们之间又是什么关系?
			原文链接 终端(terminal,或者叫物理终端):是一种设备,不是一个程序,一般说的就是能提供命令行用户界面的设备,典型的是屏幕和键盘,或其他的一些物理终端.虚拟终端:屏幕和键盘只是一个终端,可能不 ... 
- 显示mysql线程和kill线程的命令
			show processlist;//显示哪些线程正在运行. kill id //kill线程 通常在表被锁的时候用. show processlist;显示哪些线程正在运行.您也可以使用my ... 
- Shell编程基础篇-下
			1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 -f文件,f的全拼为file ... 
