Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] Problem mit Datenausgabe aus Array

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich bin langsam am verzweifeln. Erst dachte ich das kann doch nicht so schwer sein und nun hänge ich irgendwie fest...

Folgende Problemstellung:

Ich habe Rohdaten in einer CSV-Datei, die ich täglich via ODBC geliefert bekomme.


sort;woche;kategorie;gruppe;wert

748;"51. KW";"sonstige Fahrzeuge";Schiffe;10

748;"51. KW";Landfahrzeuge;Motorräder;200

748;"51. KW";Landfahrzeuge;Automobile;150

748;"51. KW";"sonstige Fahrzeuge";Flugzeuge;52

749;"52. KW";"sonstige Fahrzeuge";Schiffe;74

749;"52. KW";Landfahrzeuge;Motorräder;85

749;"52. KW";Landfahrzeuge;Automobile;30

749;"52. KW";"sonstige Fahrzeuge";Flugzeuge;10

750;"1. KW";Landfahrzeuge;Motorräder;2

750;"1. KW";Landfahrzeuge;Automobile;0

750;"1. KW";"sonstige Fahrzeuge";Schiffe;0

750;"1. KW";"sonstige Fahrzeuge";Flugzeuge;6

751;"2. KW";Landfahrzeuge;Automobile;0

751;"2. KW";"sonstige Fahrzeuge";Flugzeuge;125

751;"2. KW";Landfahrzeuge;Motorräder;5

751;"2. KW";"sonstige Fahrzeuge";Schiffe;89

752;"3. KW";"sonstige Fahrzeuge";Flugzeuge;15

752;"3. KW";"sonstige Fahrzeuge";Schiffe;87

752;"3. KW";Landfahrzeuge;Motorräder;54

752;"3. KW";Landfahrzeuge;Automobile;12

753;"4. KW";"sonstige Fahrzeuge";Flugzeuge;0

753;"4. KW";"sonstige Fahrzeuge";Schiffe;13

753;"4. KW";Landfahrzeuge;Motorräder;14

753;"4. KW";Landfahrzeuge;Automobile;0

Diese Daten muss ich in folgendem vorgegebenen Format ausgeben: tabelle.jpg Ich habe den Hinweis bekommen folgendes Array daraus zu basteln:

Array

(

    [51. KW] => Array

        (

            [sonstige Fahrzeuge] => Array

                (

                    [Schiffe] => 10

                    [Flugzeuge] => 52

                )


            [Landfahrzeuge] => Array

                (

                    [Motorräder] => 200

                    [Automobile] => 150

                )


        )


    [52. KW] => Array

        (

            [sonstige Fahrzeuge] => Array

                (

                    [Schiffe] => 74

                    [Flugzeuge] => 10

                )


            [Landfahrzeuge] => Array

                (

                    [Motorräder] => 85

                    [Automobile] => 30

                )


        )


    [1. KW] => Array

        (

            [Landfahrzeuge] => Array

                (

                    [Motorräder] => 2

                    [Automobile] => 0

                )


            [sonstige Fahrzeuge] => Array

                (

                    [Schiffe] => 0

                    [Flugzeuge] => 6

                )


        )


    [2. KW] => Array

        (

            [Landfahrzeuge] => Array

                (

                    [Automobile] => 0

                    [Motorräder] => 5

                )


            [sonstige Fahrzeuge] => Array

                (

                    [Flugzeuge] => 125

                    [Schiffe] => 89

                )


        )


    [3. KW] => Array

        (

            [sonstige Fahrzeuge] => Array

                (

                    [Flugzeuge] => 15

                    [Schiffe] => 87

                )


            [Landfahrzeuge] => Array

                (

                    [Motorräder] => 54

                    [Automobile] => 12

                )


        )


    [4. KW] => Array

        (

            [sonstige Fahrzeuge] => Array

                (

                    [Flugzeuge] => 0

                    [Schiffe] => 13

                )


            [Landfahrzeuge] => Array

                (

                    [Motorräder] => 14

                    [Automobile] => 0

                )


        )


)

Das hat gedauert, aber ich habe dieses Array und weiß nun nicht, wie ich damit zu gewünschten Ausgabe kommen soll. Derjenige, der mir diesen Lösungsansatz mit dem Array geraten hat meldet sich auch nicht mehr...

War der Lösungsansatz überhaupt brauchbar? Ich seh den Wald vor lauter Bäumen nicht mehr, aber die Zeit drängt. :rolleyes:

Gruß Tom

Wo liegt jetzt dein Problem? Wenn du die Daten aus der csv schon im Array hast, hast du doch schon einen großteil der Arbeit hinter dir. Jetzt brauchst du doch nur noch die Daten aus deinem Array holen und in deine Tabelle schaffen.

Klingt irgendwie einfacher als getan. Womöglich, weil ich mit foreach und co. nicht richtig umgehen kann.

Ich möchte eine Tabelle, wie die auf dem Screenshot, die ich in Excel gemacht habe und komme nicht annähernd an das Ergebnis. :upps

probier doch mal folgendes


foreach ($deinArray as $kw)

{

  print_r($kw)

}

Dann schau dir die Ausgabe an, vielleicht wird dir die Funktionsweise von foreach etwas klarer.

Und die Tabelle soll dann mit html gemacht werden?

Ja richtig. Mit HTML

ich würde sagen du musst das array umstrukturieren. Eventuell war der Ansatz nicht der beste.

Das Problem ist HTML Tabellen arbeiten Zeilenweise, da wäre ein Array in der Form sinnvoll:


<?
array(
"Kategorie1" => array(
"Gruppe1" =>
"KW1" => 10,
"KW2" => 20
...
),
"Gruppe" =>
"KW1" ....
)
)
);
?>
[/PHP]

Dann wäre die Lösung mit Foreach durch das Array und ein neues Zusammensetzten.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.