Multidimensionales Array nach Filter ausgeben.

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

  • Multidimensionales Array nach Filter ausgeben.

    Hallo,

    ich habe ein Verzeichnis mit verschiedenen Dateien und Erstellungsdaten.

    Diese Dateien möchte ich nun nach Datum sortiert in eine Liste ausgeben lassen; also quasi wie folgt:
    1. 2007
      1. Januar
      2. Februar
      3. März
      4. usw..
    2. 2008
    3. 2009


    Dazu habe ich die Dateien mit den Daten in ein Multidimensionales Array gelesen:

    Array
    (
    [0] => Array
    (
    [name] => Datei1
    [year] => 2007
    [month] => August
    [day] => 04
    )

    [1] => Array
    (
    [name] => Datei2
    [year] => 2007
    [month] => August
    [day] => 04
    )

    [2] => Array
    (
    [name] => Datei3
    [year] => 2007
    [month] => August
    [day] => 04
    )

    [3] => Array
    (
    [name] => Datei4
    [year] => 2007
    [month] => August
    [day] => 04
    )

    [4] => Array
    (
    [name] => Datei5
    [year] => 2008
    [month] => August
    [day] => 04
    )

    [5] => Array
    (
    [name] => Datei6
    [year] => 2008
    [month] => August
    [day] => 04
    )

    [6] => Array
    (
    [name] => Datei7
    [year] => 2008
    [month] => August
    [day] => 04
    )

    [7] => Array
    (
    [name] => Datei8
    [year] => 2008
    [month] => August
    [day] => 04
    )

    [8] => Array
    (
    [name] => Datei9
    [year] => 2009
    [month] => August
    [day] => 04
    )

    [9] => Array
    (
    [name] => Datei10
    [year] => 2009
    [month] => August
    [day] => 04
    )

    )

    Ich habe jetzt ein Array erstellt, welches alle verwendeten Jahreszahlen enthält.
    Mir fehlt jedoch jetzt die Idee, wie ich das mit den Dateinen ausfiltern soll, bzw. wie ich das Array multidimensional behandeln kann; sprich das Array in der zweiten Ebene direkt ansprechen kann: in etwa -> alle Arrays mit ['year'] == 2009!

    so könnte man das übereine Schleife lösen, jedoch weiss ich eben nicht wie ich die zweite Ebene direkt anspreche.

    Habe es in etwa so versucht, ging aber in die Hose:
    Wobei $year die Jahreszahlen als Array enthält ohne Dopplung.
    PHP-Code:
    function isIt($array$year) {
        if (
    $array['year'] == $year) {
            return 
    $array['year'];
        }
    }

    foreach (
    $years as $year) {
            for (
    $i 0$i 10$i++) {
                
    array_walk($file_array[$i], "isIt"$year);
            }
        } 
    Hat jemand eine Anregung?

    Vielen Dank und beste Grüsse.
    Michael
    Zuletzt geändert von francosdad; 07.08.2009, 21:57. Grund: gelöst

  • #2
    PHP-Code:
    foreach ($years as $year) { 
            echo 
    $year['year'];#usw
            

    Kommentar


    • #3
      Hi Michael,

      ich würde das Array einfach per usort() sortieren und in einer simplen foreach-Schleife die Einrückung oder was auch immer über einen Gruppenwechsel steuern.

      LG

      Kommentar


      • #4
        Vielen Dank für eure Hilfe, aber manchmal sieht man den Wald vor lauter Bäumen nicht.

        Statt das Array hin- und her zu filter, habe ich einfach das Array gleich so erzeugen lassen.

        Trotzdem Danke.

        Grüsse
        Michael

        Kommentar

        Lädt...
        X