欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

用PHP实现递归函数的基础教程 (第5.5.1节)

最编程 2024-07-20 22:43:45
...

递归函数

所谓的函数递归调用,就是函数可以在其声明的执行叙述之中调用执行自己。
通常在此类型的函数之中会附加一个条件判断叙述,以判断是否需要执行递归调用,并且在特定条件下终止函数的递归调用动作,把目前流程的主控权交回上一层函数执行。因此当某个执行递归调用的函数,没有附加条件判断叙述时可能会造成无限循环的错误情形.
函数递归调用最大的好处在于可以精简程序中繁杂重复调用程序,并且能以这种特性来执行一些较为复杂的运算动作。

<?php
    /**
        声明一个名称为test的函数,用于测试递归
        $param  int $n  需要一个整数作为参数
    */
    function test( $n ) {             //声明一个名为test的函数,有一个参数
        echo $n."&nbsp;&nbsp;"; //在函数开始处输出参数的值和两个空格 
        if($n>0)                            //判断参数是否大于0
            test($n-1);                    //如果参数大于0则调用自己,并将参数减1后再传入
        else                                  //判断参数不大于0
            echo " <--> ";                //输出分界字符串
        echo $n."&nbsp;&nbsp;"; //在函数结束处输出参数的值和两个空格
    }
    test(10);                                //调用test()函数将整数10传给参数

例 test.php

<?php
    $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>";
                fordir($nfile);
            } else {
                echo "文件: {$nfile}<br>";
            }   
        }
        closedir($dir);
        //关闭
    }
    fordir($dirname);
/*
 *  
 *  在函数中调用自己就是递归函数
 *  
 */
/*
    function test($n) {
        echo $n."<br>";
        if($n > 0)
            test($n-1);
        else
            echo "---------------<br>";
        echo $n."<br>";
    }
test(10);

 */


    

































推荐阅读