帮忙看这个递归哪里错了!!!弄了。。郁闷死了 folder_dir($path);//递归改做$back[] = folder_dir($path);//递归 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function folder_dir($dir){ if (is_dir($dir)) { $back[] = $dir;//获取数据到数组 if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false ) { if(($file != "." && $file != "..")){ echo $path =$dir."/".$file; //这里是对的 return folder_dir($path);//递归 ///这里应该有一个 return } } closedir($dh); } } return $back;} //我自己弄的,用了静态变量function folder_dir($dir){ static $i; static $back; if (is_dir($dir)) { $i++; $back[$i] = $dir; if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false ) { if(($file != "." && $file != "..")){ $path =$dir."/".$file; folder_dir($path); } } closedir($dh); } } return $back;} !== 用来判断数据类型和值,1 != "1" return false;// 值相同1 !== "1" return true;// 但是类型不同xuzuning(唠叨) $back[] = folder_dir($path);//递归这里有个问题就是如果$path不是一个目录,那么就会返回一个空值,应该加个判断:if (is_dir($path)) $back[] = folder_dir($path);这样做的好处是可以看到目录结构。类似这样:Array( [0] => d:/www [1] => Array ( [0] => d:/www/admin [1] => Array ( [0] => d:/www/admin/css ) [2] => Array ( [0] => d:/www/admin/html [1] => Array ( [0] => d:/www/admin/html/css ) [2] => Array ( [0] => d:/www/admin/html/js ) ) ))用静态变量的例子就是把目录名全部存一个一维数组里,但是结构没了。 folder_dir($dir,&$dirArry)传入指针法.不用静态. PHP查询记录只有一条 怎么解决地址中.php后加 ‘/’ 的问题啊 代码行间距自动扩大。 /Windows(?=95 |98 |NT )/ 和 /Windows(95|98|NT)/ 的效果是否没区别?只是不会存储子表达式的内容罢了? PHP在IIS上运行的问题 PHP文件 时间显示问题? 如何下在TXT文件???? CURL 取到验证码乱码了 php的基础问题请教一下 高手看一下,为什么我写的不能显示呀!!! 求助.执行这一段代码有问题.
if (is_dir($dir)) {
$back[] = $dir;//获取数据到数组
if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false ) {
if(($file != "." && $file != "..")){ echo $path =$dir."/".$file; //这里是对的
return folder_dir($path);//递归 ///这里应该有一个 return
}
}
closedir($dh);
}
}
return $back;
}
//我自己弄的,用了静态变量
function folder_dir($dir){
static $i;
static $back;
if (is_dir($dir)) {
$i++;
$back[$i] = $dir;
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false ) {
if(($file != "." && $file != "..")){
$path =$dir."/".$file;
folder_dir($path);
}
}
closedir($dh);
}
}
return $back;
}
1 != "1" return false;// 值相同
1 !== "1" return true;// 但是类型不同xuzuning(唠叨) $back[] = folder_dir($path);//递归
这里有个问题就是如果$path不是一个目录,那么就会返回一个空值,应该加个判断:
if (is_dir($path)) $back[] = folder_dir($path);
这样做的好处是可以看到目录结构。类似这样:
Array
(
[0] => d:/www
[1] => Array
(
[0] => d:/www/admin
[1] => Array
(
[0] => d:/www/admin/css
) [2] => Array
(
[0] => d:/www/admin/html
[1] => Array
(
[0] => d:/www/admin/html/css
) [2] => Array
(
[0] => d:/www/admin/html/js
) )
)
)用静态变量的例子就是把目录名全部存一个一维数组里,但是结构没了。
传入指针法.不用静态.