当前位置 : 主页 > 编程语言 > java >

编程之美

来源:互联网 收集:自由互联 发布时间:2022-08-10
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解 header("Content-type: text/plain"); func


我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解

 

header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 10) {
echo $i . "\n";
static_function();
}
}

static_function();这段代码会如数输出 1 到 10 的数字。在 static_function 函数第二次运行时,变量 i 由于是静态变量,所以仍被保留不被释放,进而可以得到自增的值。

 

 

这个问题不单单出现在PHP中,你可以在其他语言的代码中经常看到: 

差:for($i=0;$i<count($array);$i++){...}
好:$count=count($array);for($i=0;$i<$count;$i++){...}


  这因该很好解释,但许多人就是想少写一行代码而浪费了系统资源。如果在循环声明中使用了count函数,那每次循环都会调用一次。如果你的循环次数很多,那就会浪费非常多的时间。

 

用预定义长量代替没有意义的数字

 

defined ("GREAT_THAN_MAX",1);
defined("NORMAL",0);
defined("LESS_THAN_MIN",-1);

switch($type){
case GREAT_THAN_MAX:
...
break;
case NORMAL:
...
break;
case LESS_THAN_MIN:
...
break;
default:
doSomething();
break;
} 【文章转自:香港多IP服务器 http://www.558idc.com/hkzq.html提供,感恩】
网友评论