AndreD: 3 strings in eine 3 Dimensionales Array schreiben

Beitrag lesen

Hallo Micha,

Ok davon abgesehen das $ und eine Klammer fehlten schreibt er mir das Array falsch auf?

Tipp falls noch nicht bekannt: error_reporting(E_ALL) hilft auf der Entwicklungsumgebung. PHP schmeisst dann wegen jeder Kleinigkeit zumindest eine Notice, solche Fehler können dann nicht mehr passieren.

Das Array soll nachher so aussehen:

101 11 1
102 11 1
103 12 1
104 12 1
105 12 1
106 13 2
107 13 2
108 14 2
109 14 2
110 15 2

Ok ist klar, aber dafür brauchst Du keine 3 Dimensionen, es reichen da auch 2 Dimensionen. So, im Prinzip musst Du Deine bestehende Datensätze lediglich umsortieren. Ich habe Dein Script mal umgeschrieben und es funktioniert auch mit Schleifen, allerdings kann es gut möglich sein das es in PHP dafür eine performantere und elegantere Methode gibt, evt. sowas wie array_fill()?

Ich weiss das es im Forum nicht gerne gesehen ist wenn man fertigen Code als Lösung schickt (ich finde es meist auch nicht so toll da die vermeintlichen Lösungen oft auch fehlerbehaftet sind), deshalb werde ich Dir mit ein paar Anmerkungen zu meiner Lösung versuchen zu helfen:

1. Zwei Dimensionen reichen aus:

Array danach:

[0] => Array
          (
          [0] => 101
          [1] => 11
          [2] => 1
          )
   ..........
   [9] => Array
          (
          [0] => 110
          [1] => 15
          [2] => 2
          )

2. Explode Deine Listen doch ebenfalls in ein Array, dann ist Dein Script flexibler was die Anzahl der Werte angeht die Du pro Datensatz schreiben willst.

3. Ich hab zwei verschachtelte for-Schleifen anstatt foreach genommen, meiner Meinung nach in dem Fall besser da Du die Zählvariablen zum Ansteuern Deiner Indizes der Arrays nehmen kannst. Dies macht das ganze IMHO flexibler.

4. Mir hilft es wenn ich die gewünschte Struktur des Arrays aufschreibe, dann ist das ganze nicht mehr so abstrakt.

Wie gesagt, es handelt sich IMHO lediglich um eine Umverteilung oder Neuanordnung der bestehenden Werte, möglicherweise gibt es da eine raffiniertere Lösung mit bestehenden PHP-Funktionen.

Viel Spass beim testen,
Grüsse AndreD