mehrdimensionales Array durch Schleife füllen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mehrdimensionales Array durch Schleife füllen

    Ich habe irgendwie den Bogen noch nicht so gespannt oder stehe einfach auf dem Schlauch.

    Ich habe bisher in einem Skript ein Array (Standorte und die jeweiligen Zimmernummern) wie folgt gefüllt:

    PHP-Code:
    $glArray=array();
      
        
    $glArray["Keller"][]="W101";
        
    $glArray["Keller"][]="W102";
        
    $glArray["Keller"][]="W103";
        
    $glArray["Keller"][]="K211";

        
    $glArray["Archiv"][]="301";
        
    $glArray["Archiv"][]="302";
        
    $glArray["Archiv"][]="303";
        
    $glArray["Archiv"][]="304";

        
    $glArray["KSS 29"][]="102";
        
    $glArray["KSS 29"][]="103";
        
    $glArray["KSS 29"][]="104";
        
        
    $glArray["KSS 31"][]="001";
        
    $glArray["KSS 31"][]="002";
        
    $glArray["KSS 31"][]="003"
    Die Anforderung will es, dass dies nun über Textdateien gefüllt wird, ala Zimmer_$standort.txt (z.B. Zimmer_Keller.txt) in der die Nummern der Lokation untereinander aufgelistet sind.

    Beispiel Zimmer_Keller.txt:
    Code:
    W101
    W102
    W103
    ...
    Nun muss also das Array dynamisch in einer Schleife gefüllt werden. Ich bin an die Sache so heran gegangen:

    1. Über foreach hole ich mir die Textdateien herein und schneide den String passend, dass ich nur noch die Lokation habe

    PHP-Code:
    foreach (glob("Zimmer_*.txt") as $zimmertxt){ 
       
    $temp ereg_replace('Zimmer_','',$zimmertxt);
       
    $temp ereg_replace('.txt','',$temp);

    Habe nun also die Lokationen. Um jetzt an den Inhalt der jeweiligen Lokation zu gelangen, bin ich in dieser Schleife über fopen heran gegangen.

    PHP-Code:
    foreach (glob("Zimmer_*.txt") as $zimmertxt)
    {
       
    $temp ereg_replace('Zimmer_','',$zimmertxt);
       
    $temp ereg_replace('.txt','',$temp);
      
       
    $datei fopen("$zimmertxt""r");
       while (
    $zeile fgets($datei,1024))
      {
           echo 
    "$temp $zeile<br>";
      }
      
    fclose($datei); 

    Nun habe ich alle Variablen, die ich benötige um das Array zu füllen. Und genau da haperts... Ich schaffe es einfach nicht, das o.g. "$glArray"-Array so wieder zu füllen, kann mir hier jemand einen Ansatz geben?

    1000 dank
    vom verzweifelten Achim

  • #2
    PHP-Code:
    foreach (glob("Zimmer_*.txt") as $zimmertxt)
    {
       
    $temp basename($zimmertxt,'.txt');
       
    $raum str_replace('Zimmer_','',$temp);
       
    $datei file($zimmertxt);
       foreach(
    $datei as $wert){
        
    $glArray[$raum][] = $wert;
       } 

    In etwa so...

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Boah Wahnsinn, wie lange hab ich mich daran versucht, 1000 dank, Tobi!

      Kommentar

      Lädt...
      X