迭代

迭代与递归的区别

递归是调用自身,导致多个一样的函数各自执行 ;迭代 只是一个函数 执行多次 ;一般递归都是能够转换为迭代的

 

用迭代实现 文件的级联创建

<?php 
    /**
     *  迭代 创建 级联目录
     */
    function iteration_create_dir($path){
        $arr  = array();

        //如果当前路径或目录不存在则,把该路径
        //压入栈中并且修改路径为上一级,直到找到路径
        while (!is_dir($path)) {
            array_push($arr,$path);        //压入栈内
            $path = dirname($path);
        }

        //如果数组为空即路径样本存在
        if (empty($arr)){
            return true;
        }

        //创建目录,因为出栈 数组元素最后会为0
        while (count($arr)) {
            $tem_path = array_pop($arr);
            mkdir($tem_path);
            echo $tem_path;
        }
        return true;
    }

    iteration_create_dir('./a/b');
 ?>

0是  找指定栏目的子栏目

1是  找指定栏目的子孙栏目,即子孙树

2是  找指定的栏目的父栏目/父父栏目....顶级栏目, 即家谱树

 

原文地址:https://www.cnblogs.com/lzhlearn/p/5804940.html