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

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

一、遍历数组

在遍历数组中注意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做为服务器端语言,程序设计尤为重要,保持高效的风格会让你的程序运行的更顺畅!

时间: 2024-09-23 18:14:35

PHP中几个可以提高运行效率的代码写法、技巧分享_php实例的相关文章

PHP中数据库单例模式的实现代码分享_php实例

首先我们要知道明确单例模式这个概念,那么什么是单例模式呢? 单例模式顾名思义,就是只有一个实例. 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类我们称之为单例类. 单例模式的要点有三个: 一是某个类只能有一个实例: 二是它必须自行创建这个实例: 三是它必须自行向整个系统提供这个实例. 下面我们讨论下为什么要使用PHP单例模式? 多数人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种"计划

提高PHP运行速度的小技巧分享

使用PHP的最大1个优势就是速度快.一般情况下,PHP总是具有足够的速度支持Web内容动态生成,许多时候甚至无法找出比它更快的方法.然而,当面对庞大的访问量.高负荷的应用.有限的带宽,以及其他各种带来性能瓶颈的因素时,就需要考虑怎样提高PHP的性能了. 1.代码优化 代码优化不仅仅是写出干净和清晰的代码,而是对代码进行一定的简化.可以使用Zend Optimizer来自动帮助完成这些繁杂的工作.Zend Optimizer可以从Zend Technologies的网站http://www.zen

让插入到 innerHTML 中的 script 跑起来的实现代码_javascript技巧

这个问题在某些时候微不足道,甚至可以忽略,但有些时候,这个问题就非常严重,它很可能让我们的程序得不到预期的结果.因此我们需要解决这个问题. 如果你读过 MSDN,你会发现并非所有插入到 innerHTML 中的脚本都不能执行,如果这段脚本的 script 标签中包含了 defer 属性,IE 会正确的执行这些脚本程序.但不幸的是,Moziila/Firefox 和 Opera 可不吃这一套,不管 script 标签有没有设置 defer 属性,这些浏览器都不会向 IE 那样去执行插入到 inne

提高php运行速度的一些小技巧分享_php技巧

1.代码优化 代码优化不仅仅是写出干净和清晰的代码,而是对代码进行一定的简化.可以使用Zend Optimizer来自动帮助完成这些繁杂的工作.Zend Optimizer可以从Zend Technologies的网站http://www.zend.com/免费得到,但必须同意它的许可约定,因为它不是以GPL方式发行的.它的原理很简单,即通过检测Zend引擎产生的中间代码,并对它进行优化,从而获得更高的执行速度. 在使用了Zend Optimizer后,复杂的PHP源程序的执行效率马上会得到显著

提高效率的搜索引擎使用技巧分享

目前大部分搜索引擎教程都不分大小写,而且,标点符号(包括 @#$%^&*()=+[])以及其他特殊字符)都会被忽略.搜索引擎使用中 要注意:能连不分,拆分有度,偏正结合,由面到点,全面开花. 能连不分:我们在搜索某个关键词的时候, 要做到整个词语中间无任何符合,包括空格.当我们知道某个产品或者说某个事物的时候,我们直接输入就可以了.例如:我知道王光卫中文博客,那么就可以直接 输入"王光卫中文 博客";如果我知道九寨沟这个地名的时候,就直接输入"九寨沟";如果

PHP中使用sleep函数实现定时任务实例分享_php实例

在某些程序中,有一些特殊的功能需要用到定时执行,如果熟悉Linux的朋友肯定会说这不是容易吗,直接来个计划任务crontab不久实现了吗?这的确是可以实现,但必须是提前知道具体的执行时间,然后才能写到计划任务里去.比如凌晨两点,上午七点,或者每天上午六点三十分等等. 然而有时候,这个时间我们无法预知,而执行时间是程序动态生成的.然后在动态生成的时间后执行某些程序片段,这里就不能用Linux的crontab计划任务了,因为每次执行的时间都是动态生成,而计划任务需要知道一个定死了的时间.既然无法使用

Yii框架中 find findAll 查找出制定的字段的方法对比_php实例

众所周知 modelName::model() -> find() //找出的是一个对象 modelName::model() -> findALL() //找出的是一个对象集合的数组 如何找出我所需要的字段的数据,而不是全部字段的数据 之前我是这么做的 $criteria = new CDbCriteria; $criteria->select = 'username,id,email'; $criteria->order = 'id DESC'; $users = modelN

PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案_php实例

php中DOMDocument对于xml操作我们只要是英文是没有问题了,但如果是中文字体就会有乱码问题了,下面我们就此问题给各位介绍一些解决办法吧. PHP的DOM内部是utf8机制的,在loadHTML时,是通过检查字符中meta的charset来设置编码的,如果没有charset,就当iso8859进行处理了,而这种情况下进行saveXML时,输出来的却是utf8,所以就看到乱码了. 这么说是不是还不太理解,举个例子: $xml = new DOMDocument(); @$xml->loa

PHP中使用substr()截取字符串出现中文乱码问题该怎么办_php实例

在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作.遇到这些需求时,我们经常会想到使用substr()方法来实现,substr()对全英文字符串的截取是比较适合的. 但字符串只要出现中文字符,就有可能导致PHP substr中文乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符"锯"成两半,造成断开的字符会把其后的..拉