学了递归,但是怎么也不能明白,看来例子 也不懂,求大神们 给个案例加讲解。谢谢了

解决方案 »

  1.   

    function a (){
    echo 1;
    a();
    }
      

  2.   

    递归:
    function a($num){
     $num++ ;
    echo $num;
     a($num);
    }a(1);
      

  3.   

    递归二个点
    1,做的同一件事
    2,要有一个结束出口function add($num){
       if($num<10){
           $num++;
           add($num);
       }else{
       reurn $num;
    }
    }
      

  4.   

    楼主加油。
    给两个例子你看看,希望对你有帮助,你也可以尝试自己写写这样的功能。[举个例子,删除一个大目录数据时,他的多级子目录,级子数据全删掉]/**
     *
     * 实现遍历,将文件夹下的文件转成数组返回.
     * @param string $dir
     * @param bool $recurse
     * @author xuxing
     * @return Array
     */
    function fileTraverse($path, $recurse = true) {
        $destPath = array();
        if (is_dir($path)) {
            $dp = dir($path);
            while ($file = $dp->read())
                if ($file != '.' && $file != '..')
                    $destPath = array_merge_recursive($destPath, array(fileTraverse($path . '/' . $file)));
            $dp->close();
        }    if (is_file($path)) {
            return $path;
        }
        return $destPath;
    }/**
     *
     * 将多维数组转成一维数组。
     * @param Array $arr
     * @author xuxing
     * @return Array
     */
    function fileRebuild($arr, $init = false) {
        static $tmp = array();
        if ($init) {
            $tmp = array();
        }    for ($i = 0; $i < count($arr); $i++) {
            if (is_array($arr[$i])) {
                fileRebuild($arr[$i]);
            } else {
                $tmp[] = $arr[$i];
            }
        }
        return $tmp;
    }