Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabelle ausgeben

Einklappen

Neue Werbung 2019

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

  • #16
    Das Prinzip und die Regeln für Arrays ändern sich nicht!

    Bei einem Mehrdimensionalen Array wird als Wert halt wieder ein Array eingetragen, anstatt eines skalaren Wertes (streng genommen ist ein String auch nur ein Array von Chars).
    Das kannst du beliebig fortführen.

    PHP-Code:
    $a = array (
      
    => 'huhu',
      
    => 'test'
      
    => array(
          
    => 'neues array',
          
    => 'neue schlüssel',
          
    => array (
              
    => 'und so weiter',
              
    => 'und so fort'
                
    )
          )
    );

    /*
    $a[1] -> String: huhu
    $a[3] -> array
    $a[3][1] -> String: neues array
    $a[3][3] -> array
    $a[3][3][1] -> String: und so weiter
    */ 
    Alles klar?
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #17
      Zitat von HiddenX Beitrag anzeigen
      also mach' Dir bitte die Mühe und schau' mein Beispiel noch mal genau an. Du wirst feststellen, dass die beiden Variablen (ja, auch die auf der linken Seite) sich natürlich unterscheiden.
      Mea culpa, das habe ich tatsächlich übersehen.

      Weisst du noch worum es geht? Es geht darum alle Filialen (der erste Teil des Arrays) in allen Jahren (der zweite Teil des Arrays) in einer Tabelle auszugeben.
      Meine Frage war: Gibt es hier eine Möglichkeit mit foreach zu arbeiten, oder lasse ich das Array durch zwei schleifen laufen. Einmal um alle Filialen auszugeben und darin nochmal eine Schleife für alle Jahre.
      Natürlich zwei Schleifen.

      Für alle Filialen hast du Daten in deinem Array vorliegen - da bietet sich also eine foreach-Schleife an, um erst mal die Ausgabe je Filiale zu steuern, also die „Zeile“ in deiner Ausgabe-Tabelle.
      Für die Jahre hast du auf der zweiten Ebene nicht immer Daten vorliegen - da ist foreach also weniger geeignet. Du weißt aber, über welchen Zeitraum von Jahren du die Ausgabe erstellen willst* - also bietet sich da bspw. eine for-Schleife an. In der wird dann geschaut, gibt es einen Eintrag zum Jahr x auf der zweiten Ebene des Arrays - wenn ja, werden die Daten ausgegeben, wenn nicht halt '-' o.ä.

      * Wenn der Zeitraum nicht vorher festgelegt wird, sondern sich aus den DB-Daten ergibt - dann musst du ggf. noch das Minimum und Maximum der Jahreszahlen vorher ermitteln, damit du weißt, wie weit die innere Schleife laufen muss.

      Ich kann mit normalen Arrays umgehen. Nur mehrdimensionale Arrays sind für mich etwas neues. Hier hatte ich mir eine Hilfestellung erhofft und kein Assessment.
      OK, aber wo dein Problem damit liegt, ist mir nicht so richtig klar.

      Wenn du ein zweidimensionales Array hast, und das auf erster Ebene mit einer foreach-Schleife durchläufst, foreach($daten as $filialdaten) - dann ist $filialdaten natürlich wieder ein Array, eine „Zeile“ aus deinem Gesamt-Array, wenn du dir das mal als zweidimensionale „Matrix“ vorstellst. Und mit dem kannst du dann wieder genauso arbeiten, wie mit jedem anderen Array auch - in einer Schleife durchlaufen, per Index zugreifen, etc.
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #18
        Vielen Dank, Ihr habt mir viel weitergeholfen, das Script ist jetzt statt in 20 Sekunden in 0,6 Sekunden durch!

        Gruß
        HiddenX

        Kommentar

        Lädt...
        X