编程之美如何体现编程的内在魅力?
- 内容介绍
- 文章标签
- 相关推荐
本文共计449个文字,预计阅读时间需要2分钟。
在PHP编程经验中,递归调用常与静态变量结合使用。静态变量的含义和作用可参考PHP手册。以下示例代码展示了如何利用静态变量来优化递归调用:
phpheader('Content-type: text/plain');
function func() { static $count=0; echo 调用次数: . $count++ . \n; if ($count <10) { func(); }}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;
}
本文共计449个文字,预计阅读时间需要2分钟。
在PHP编程经验中,递归调用常与静态变量结合使用。静态变量的含义和作用可参考PHP手册。以下示例代码展示了如何利用静态变量来优化递归调用:
phpheader('Content-type: text/plain');
function func() { static $count=0; echo 调用次数: . $count++ . \n; if ($count <10) { func(); }}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;
}

