我个人的 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中,你可以在其他语言的代码中经常看到:
好:$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提供,感恩】