PHP代码优化标准-1

 1语句的优化

1.1 循环语句的优化

尽量减少循环中循环条件判断语句中的计算,例如:

$max = sizeof($myArray);

for ($i =0; $i < $max ; $i++)

{

  echo '<!--' . $myArray[$i] . ' --> ';

}

for ($i =0; $i < sizeof($myArray); $i++)

{

echo '<!--' . $myArray[$i] . ' --> ';

}

更高效

 

使用反向的顺序进行迭代,例如:

for ($i=$Array->mLength-1;$i>=0;$i--)

{

     //do some thing

}

for ($i=0;$i<$Array->mLength;$i++)

{

     //do some thing

}

更高效

 

使用do…while循环来代替while循环可以减少执行时间,提高效率例如:

$i=0

do {

    //do some thing

     $i++;

} While($i<$Array-> mLength)

$i=0

While($i<$Array-> mLength)

{

     //do some thing

     $i++;

}

更高效

 

用foreach代替while遍历数组。遍历数组时foreach的效率明显高于while循环,而且不需要调用reset函数。两种遍历方法如下:

foreach ($arr as $key => $value)

{
  echo "Key: $key; Value: $value<br>n";
}

reset ($arr);
while (list($key, $value) = each ($arr))

{
  echo "Key: $key; Value: $value<br>n";
}

更高效

 

1.2 条件语句的优化

使用if语句和多个else语句的时候,一定要把最有可能的情况放在第一个,然后是第二可能出现的情况,如此排列

 

超过两种情况时,最好使用switch语句

 

总是将恒量放在等号/不等号的左边,例如:

if ( 6 == $errorNum ) ...

 

在循环中判断时,数值判断使用等于要比恒等高效,例如:

$a=2;$b=2;

if($a==$b)$c=$a;

if($a===$b)$c=$a;
高效

 

 

1.3 赋值语句的优化

必须将a=a+1写为a++;  a=a+b写为a+=b

必须将a=a-1写为a--;  a=a-b写为a-=b

 

2 变量的优化

需要维护函数调用之间的变量值, 使用 static 关键字是一个很好的解决方案,例如:

计数用户定义的函数:

function Func_Count()

{

static $count = 0;

return $count++;

}

刚好在脚本完成之前通过调用 Func_Count() 来收集变量中的返回值,这种方法是有效的。令人吃惊的是,$count 没有复位为零;初始化静态变量的行只执行了一次。

 

3 函数和方法的优化

函数或者方法的参数应该在三个或三个以内,使用大量参数的复杂函数应该被拆分成多个更简单的函数或者方法

 

用函数需要处理的所有数据一次性调用函数,始终优于多次调用函数,并以增量的方式为其提供数据

 

如果希望直接改变参数,而且希望修改能够保留,使用引用,而且使用引用传递比传值传递更高效

 

当有几个功能相同的函数时,将它们合并成一个函数,使用不同的参数得到不同的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值