递归函数
所谓的函数递归调用,就是函数可以在其声明的执行叙述之中调用执行自己。
通常在此类型的函数之中会附加一个条件判断叙述,以判断是否需要执行递归调用,并且在特定条件下终止函数的递归调用动作,把目前流程的主控权交回上一层函数执行。因此当某个执行递归调用的函数,没有附加条件判断叙述时可能会造成无限循环的错误情形.
函数递归调用最大的好处在于可以精简程序中繁杂重复调用程序,并且能以这种特性来执行一些较为复杂的运算动作。(打过代码的都知道==)
通常在此类型的函数之中会附加一个条件判断叙述,以判断是否需要执行递归调用,并且在特定条件下终止函数的递归调用动作,把目前流程的主控权交回上一层函数执行。因此当某个执行递归调用的函数,没有附加条件判断叙述时可能会造成无限循环的错误情形.
函数递归调用最大的好处在于可以精简程序中繁杂重复调用程序,并且能以这种特性来执行一些较为复杂的运算动作。(打过代码的都知道==)
<?php
//error_reporting(0);
$dirname = "./phpmyadmin";
function fordir($dirname) {
//打开目录资源
$dir = opendir($dirname);
readdir($dir);
readdir($dir);
while( $file = readdir($dir)) {
$nfile = $dirname.'/'.$file;
if(is_dir($nfile)){
echo "目录: {$nfile}<br>";
} else {
echo "文件: {$nfile}<br>";
}
}
closedir($dir);
//关闭
}
fordir($dirname);
这段代码我最开始执行的时候粗线了如下的界面
自己还傻乎乎的去找了屏蔽警告的代码,然后什么都不出现了(⊙﹏⊙)b,机智的我看了一下警告提示信息,啊,原来是得自己建这个文件夹呀~~半个月前看的视频,具体细节早忘了

待我在www文件夹中建了文件夹之后就出现了酱紫的答案:
文件: ./phpmyadmin/callback.php
文件: ./phpmyadmin/callback1.php
文件: ./phpmyadmin/callback2.php
文件: ./phpmyadmin/callback3.php
文件: ./phpmyadmin/callback4.php
文件: ./phpmyadmin/callback5.php
文件: ./phpmyadmin/callback1.php
文件: ./phpmyadmin/callback2.php
文件: ./phpmyadmin/callback3.php
文件: ./phpmyadmin/callback4.php
文件: ./phpmyadmin/callback5.php
再看看课件里的例子~
<?php
function test($n){
echo $n." ";
if($n>0)
test($n-1);
else echo "<------>";
echo $n." ";
}
test(10);
看到“”中间的空格了吗 逗比csdn把
<?php
function test($n){
echo $n." ";
if($n>0)
test($n-1);
else echo "<------>";
echo $n." ";
}
function test($n){
echo $n." ";
if($n>0)
test($n-1);
else echo "<------>";
echo $n." ";
}
test(10);
直接转化了 orz
 什么意思?html转义字符啊,干嘛的 ?输出空格的→_→你说你html学啥了 ??
字符 | 十进制 | 转义字符 |
" | " | " |
& | & | & |
< | < | < |
> | > | > |
不断开空格(non-breaking space) |
| |
记住了哟→_→
输出啥?
10 9 8 7 6 5 4 3 2 1 0 <------>0 1 2 3 4 5 6 7 8 9 10