迭代与递归的区别
递归是调用自身,导致多个一样的函数各自执行 ;迭代 只是一个函数 执行多次 ;一般递归都是能够转换为迭代的
用迭代实现 文件的级联创建
<?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是 找指定的栏目的父栏目/父父栏目....顶级栏目, 即家谱树