Hi,
hab ein kleines Problem mit Rekursionen und deren Return's.
Bei folgendem Script:
Mein Problem ist nun, dass eigentlich mehrere arrays
zurückgegeben werden müssen, allerdings durch die
Rekursion krieg ich nur ein array mit einem return zurück,
kann ich das Problem umgehen? Ich bräucht eben alle
arrays in einem array (also 2 Dimensionales array) als
Return, was aber ja nicht klappt da die Arrays in
verschiedenen Rekursionen existieren.
Gruß darki
hab ein kleines Problem mit Rekursionen und deren Return's.
Bei folgendem Script:
PHP-Code:
function getFiles($myDir="",$myFileSuffix=array("*"),$myDirDepth=0,$tmp_depth=0)
{
// Reguläre Variablen:
$dir=$myDir;
$suffix=$myFileSuffix;
$files=glob($dir."*");
$depth=$myDirDepth;
$container[]=(empty($container)) ? array() : $container;
// Verzeichnisse/Dateien auslesen:
foreach ($files as $counter1 => $file)
{ $basename=basename($file);
$thisSuffix=substr($basename,strlen($basename)-3);
foreach ($suffix as $counter2 => $value)
{
if(!is_dir($file) && ($thisSuffix == $value || $suffix[0] == "*"))
{
//echo $file." :: ".""."<br />";
$container[$counter1] .= $file;
}
else if($tmp_depth<$depth-1 || $depth == 0)
{
getFiles($file."/",$myFileSuffix,$myDirDepth,$tmp_depth+1);
}
}
}
array_multisort($container);
//print_r($container);
return($container);
}
// Funktion aufrufen:
print_r(getFiles("dir0/",array("*"),2));
zurückgegeben werden müssen, allerdings durch die
Rekursion krieg ich nur ein array mit einem return zurück,
kann ich das Problem umgehen? Ich bräucht eben alle
arrays in einem array (also 2 Dimensionales array) als
Return, was aber ja nicht klappt da die Arrays in
verschiedenen Rekursionen existieren.
Gruß darki
Kommentar