MrLongbaugh: tabelle aus mehrdimensionalem array

Hallo!

1. Aus einem mehrdimensionales array möchte ich eine Tabelle generieren.
Dabei habe ich feste Zeiten (Zeilen) und Wochentage (Spalten).
2. Das "unterste" array soll nach 1 abgesucht werden und als 1 Wert zur Verfügung stehen (wenn ein Wert = 1 dann 1 wenn kein Wert = 1 dann 0).

Schlussendlich soll eine Art Stundenplan herauskommen, der belegte Stunden über einen Wochenzeitraum anzeigt.
Mein array sieht folgendermaßen aus:

(
    [08:00:00] => Array
        (
            [mo] => Array
                (
                    [0] =>
                    [1] =>
                    [2] => 1
                )

[di] => Array
                (
                    [0] =>
                    [1] => 1
                    [2] => 1
                )

[mi] => Array
                (
                    [0] =>
                    [1] =>
                    [2] => 1
                )

[do] => Array
                (
                    [0] =>
                    [1] =>
                    [2] =>
                )

[fr] => Array
                (
                    [0] =>
                    [1] =>
                    [2] => 1
                )

[sa] => Array
                (
                    [0] =>
                    [1] =>
                    [2] =>
                )

[so] => Array
                (
                    [0] =>
                    [1] =>
                    [2] =>
                )

)

[08:30:00] => Array
        (
            [mo] => Array ...

Ist das klar geworden?
Vielleicht gibt es ja eine simple Lösung

  1. Hi!

    Schlussendlich soll eine Art Stundenplan herauskommen, der belegte Stunden über einen Wochenzeitraum anzeigt.
    Mein array sieht folgendermaßen aus:

    (
        [08:00:00] => Array
            (
                [mo] => Array
                    (
                        [0] =>
                        [1] =>
                        [2] => 1
                    )

    [di] => Array
                    (
                        [0] =>
                        [1] => 1
                        [2] => 1
                    )

    [mi] => Array
                    (
                        [0] =>
                        [1] =>
                        [2] => 1
                    )

    [do] => Array
                    (
                        [0] =>
                        [1] =>
                        [2] =>
                    )

    [fr] => Array
                    (
                        [0] =>
                        [1] =>
                        [2] => 1
                    )

    [sa] => Array
                    (
                        [0] =>
                        [1] =>
                        [2] =>
                    )

    [so] => Array
                    (
                        [0] =>
                        [1] =>
                        [2] =>
                    )

    )

    [08:30:00] => Array
            (
                [mo] => Array ...

    Ist das klar geworden?
    Vielleicht gibt es ja eine simple Lösung

    Und wo ist jetzt Dein Problem?

    Du kannst das Array doch einfach in Schleifen durchlaufen. Erstmal die Stunden (also z.B. per foreach), in jedem Durchlauf dann eine weitere Schleife, und darin dann z.B. per array_search() prüfen ob ein Element mit dem Wert "1" vorhanden ist. Die 2. Schleife brauchst Du nicht unbedingt, da die Elemente des Array ja feststehen, das heißt Du kannst die paar Elemente auch "zu Fuß" generieren.

    Beim Durchlaufen der Schleifen generierst Du halt eine HTML-Tabelle, auf der obersten Ebene generierst Du die Zeilen (<tr></tr>), auf nächsten Ebene die Spalten (<td></td>).

    Fang einfach mal an, dann ergibt sich der Rest ;-)

    Grüße
    Andreas

    --
    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
    1. Aber wie springe ich innerhalb des arrays zu den untergeordneten arrays, da ich die ebenen ja nacheinander abarbeiten möchte.

      1. Hi,

        $woche[tag][stunde]

        also

        $woche[mo][7]="Inhalt"; //Stunde 6 (7, wenn keine Stelle 0) mit Inhlat am Montag... usw

        Sa so aus, als kennst du dein Array...

        Gruß Frank