PHP中几个可以提高运行效率的代码写法、技巧分享


Posted in PHP onAugust 21, 2014

废话不多说,直接看代码示例。

一、遍历数组

在遍历数组中注意count的使用次数,不要每次都去计算数组长度
效率慢的写法

<?php

 

$array = array(1,2,3,4,5,6,7,8,9,10,....);

for($i=0;$k<count($array);$i++){

    echo $array[$i];

}

 

?>

效率快的写法
<?php

 

$array = array(1,2,3,4,5,6,7,8,9,10,....);

for($i=0,$k<count($array);$i<$k;$i++){

    echo $array[$i];

}

 

?>

二、巧用函数

根据需要选择适用函数,如已知一个日期类型的时间'2012-06-04 10:43:00‘,只需要取得年月日。
效率慢的写法

<?php

 

$date = '2012-06-04 10:43:00';

$arr = explode(' ',$date);

echo $arr[0];

 

?>

效率快的写法
<?php

 

$date = '2012-06-04 10:43:00';

echo substr($date,0,10);

 

?>

三、单双引号

许多人误认为单引号与双引号一样使用,这是严重错误的。在PHP中单引号与双引号有着极大的区别,其中区别最大的一点在于双引号中能解析变量,单引号中不可以。也就由此产生了效率问题,单引号比双引号的效率要高
效率慢的写法

<?php

 

// 效率低

$str = "一个变量值";

echo "这是一个双引号字符串{$str}";

 

?>

效率快的写法
<?php

 

// 效率低

$str = '一个变量值';

echo '这是一个双引号字符串'.$str;

 

?>

四、尽量简洁

直接看代码
普通写法

<?php

 

function cheng($a,$b){

    $c = $a*$b;

    return $c;

}

 

$result = cheng(10,16);

echo $result;

 

?>

简洁写法
<?php

 

function cheng($a,$b){

    return $a*$b;

}

 

echo cheng(10,16);

 

?>

五、分支妙用

如果分支过多,就用switch。如果很少,就用ifelse
效率慢的写法

<?php

 

if($a == 1){

    // 代码块  

}elseif($a == 2){

    // 代码块

}elseif($a == 3){

    // 代码块

}elseif($a == 4){

    // 代码块

}elseif($a == 5){

    // 代码块

} ...

 

?>

效率高的写法
<?php

 

switch($a){

    case 1:

        // 代码块1

        break;

    case 2:

        // 代码块2

        break;

    case 3:

        // 代码块3

        break;

        ...

    default:

        // 默认块

}

 

?>

 
PHP做为服务器端语言,程序设计尤为重要,保持高效的风格会让你的程序运行的更顺畅!
PHP 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
PHP 编程安全性小结
Jan 08 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
php检查日期函数checkdate用法实例
Mar 19 PHP
php关联数组快速排序的方法
Apr 17 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
php简单判断文本编码的方法
Jul 30 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
个人写的PHP验证码生成类分享
Aug 21 #PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 #PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 #PHP
ThinkPHP登录功能的实现方法
Aug 20 #PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 #PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 #PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 #PHP
You might like
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Python tcp传输代码实例解析
2020/03/18 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
一套软件开发工程师笔试题
2015/05/18 面试题
物流管理毕业生自荐信
2013/10/24 职场文书
大学毕业自我评价
2014/02/02 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
学习型班组申报材料
2014/05/31 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书