Array zusammenführen - sehe den Wald vor lauter Bäumen nicht mehr.

TribunM

Erfahrenes Mitglied
Ich kriege echt die Krise. Irgendwie komme ich gerade partout nicht das Ergebnis was ich brauche. Ich habe eine for schleife:
PHP:
for ($i = 0; $i < count($found_data); $i++) {
		$res_files[] = $result_array->get_files($found_data[$i],$theuser);
	}

$res ist ein mehrdimensionaler array mit den dateien je gefundene daten.
Der array sieht so aus:
PHP:
[0] => array(
  [0] => array(
   ['id'] => wert
   ['titel'] => wert
  )
)
[1] => array(
  [0] => array(
   ['id'] => wert
   ['titel'] => wert
  )
)

Ich brauche aber den array so:
PHP:
  [0] => array(
   ['id'] => wert
   ['titel'] => wert
)
  [1] => array(
   ['id'] => wert
   ['titel'] => wert
)

Also einen Array wo einfach alle gefundenen Dateien untereinander ausgegeben werden und ich kriege das echt nicht hin, warum auch immer.

Ich habe daher zwei Fragen. Kann ich den "gewünschten" array direkt aus der Schleife heraus erstellen und wie wandle ich allgemein einen Array so um, dass ich das gewünschte Ergebnis bekomme.

Ich bedanke mich schon herzlichst bei euch.

Tribbi
 
Zuletzt bearbeitet:
Also, wenn ich das jetzt nicht total falsch sehe, solltest du das Array schon so haben, wie du es brauchst in:
PHP:
for ($i = 0; $i < count($found_data); $i++) {
        $res_files[] = $result_array->get_files($found_data[$i],$theuser);
    }
"$result_array->get_files($found_data[$i],$theuser);" gibt dir doch genau das, was du willst oder stehe ich nun auf dem Schlauch?

Letztendlich müsste die Methode get_files dir die Werte anders liefern.

Aber vielleicht verstehe ich dich auch nur falsch :)
 
Zuletzt bearbeitet:
Hi xCondoRx,

danke für deine schnelle Antwort, aber leider ist es nicht so einfach, denn in diesem Fall würde ich dann auch nur die Werte an der Stelle [0] [0][1] usw. erhalten nicht aber von [1][0][1] usw. Sprich die Ausgabe ist klar so wie ich das brauche, aber da fehlt eben der Rest.

Ich habe das ganze mit array_push versucht, aber irgendwie klappt das auch nicht so richtig. Ich kriege immer eine Dimension zu viel, die ich aber nicht brauche. Gibt es nicht einfach einen Befehl, wie man dimensionen zurückgehen kann ^^.

Tribbi
 
So wie ich das sehe, gibt $result_array->get_files beeits ein 2-Stufeigen Array aus
Code:
array(
  [0] => array(
   ['id'] => wert
   ['titel'] => wert
Versuch es doch mal so
PHP:
$res = $result_array->get_files($found_data[$i],$theuser);
$res_files[] = $res[0];

Nachtrag: Oder mit array-merge
PHP:
$res_file = array_merge($res_file, $result_array->get_files($found_data[$i],$theuser))
 
Zuletzt bearbeitet:
Lieben Dank für die Vorschläge.

So wie ich das sehe, gibt $result_array->get_files beeits ein 2-Stufeigen Array aus
Ja da hast du völlig Recht und das bereitet mir ja Probleme und bis gerade dachte ich auch array_push würde mein Problem lösen, aber array_merge ist da wohl die bessere Wahl. Son Mist ich hatte das schon einmal ausprobiert, aber einen eklatanten Fehler gemacht. Na ja wieder etwas gelernt.

Danke schön!
 
Zurück