Greener: Rekursive Funktion und Speichern im assoziativen Array

Beitrag lesen

Hi,

Eigentlich müsste ich ja dafür einen weiteren Parameter erstellen, in dem gespeichert ist, an welcher Stelle im Array ich mich gerade befinde, damit ich an dieser Stelle abspeichern kann. Aber wie kann ich dynamisch auf die Xte Ebene eines Arrays zugreifen?

Die x-te Ebene hat dich bei einem *rekursiven* Vorgehen doch gar nicht zu kuemmern - sondern immer nur die *aktuelle*.

Pseudocode:

function lese_verzeichnis(...) {

$array = array();
  while(Eintrag = readdir()) {
    if(Eintrag == Verzeichnis) {
      $array[] = lese_verzeichnis(Eintrag);
    }
    else {
      $array[] = Eintrag;
  }
  return $array;
}

  
Danke, irgendwie hatte ich eine Blockade. Das mit dem "file === 0" ist übrigens kein Problem, weil ich diese Verzeichnisbäume manuell erstelle und eine Datei mit 0 nicht vorkommen wird.  
Noch eine letzte Frage: könnten Probleme auftreten, wenn ich folgendes mache?:  
  
Pseudocode:  
  
~~~php
function lese_verzeichnis(...) {  
  $array = array();  
  while(Eintrag = readdir()) {  
    if(Eintrag == Verzeichnis) {  
      $array[Eintrag] = lese_verzeichnis(Eintrag); # Index enthält nun Name des Verzeichnis  
    }  
    else {  
      $array[Eintrag] = 123; # Index enthält nun Name der Datei, der Inhalt (123) ist bedeutungslos  
  }  
  return $array;  
}

Das muss ich machen, damit mir nicht die Namen des Ordners verloren gehen, weil ein Ordner ja in diesem Falle ein Array ist und der Index nach ChrisBs Methode nur eine Zahl ist.