Aus Arrays neue Arrays erzeugen!
Hallo Gemeinde,
ich hoffe Ihr könnt mir bei meiner Problematik helfen und meinen kleinen gordischen Knoten im Kopf lösen.
Die Situation:
Ich habe eine undefinierte Anzahl Arrays $ZP mit einer undefinierten Anzahl von Elementen!
z.B.
Array ( => A1 [1] => A2 [2] => A3 [3] => A4 )
Array ( => B1 [1] => B2 [2] => B3 [3] => B4 )
.
.
Array ( => K1 [1] => K2 [2] => K3 [3] => K4 )
die Ausgabe erzeuge ich mit folgendem Code:
$arr = sind die genannten Arrays
Was ich möchte ist, dass die Arraywerte ausgelesen und in neuen Arrays anders sortiert ausgegeben werden:
Ziel:
Array ( => A1 [1] => B1 [2] => K1 )
Array ( => A2 [1] => B2 [2] => K2 )
Array ( => A3 [1] => B3 [2] => K3 )
Array ( => A4 [1] => B4 [2] => K4 )
Danke im voraus!
Gruss
Uwe
ich hoffe Ihr könnt mir bei meiner Problematik helfen und meinen kleinen gordischen Knoten im Kopf lösen.
Die Situation:
Ich habe eine undefinierte Anzahl Arrays $ZP mit einer undefinierten Anzahl von Elementen!
z.B.
Array ( => A1 [1] => A2 [2] => A3 [3] => A4 )
Array ( => B1 [1] => B2 [2] => B3 [3] => B4 )
.
.
Array ( => K1 [1] => K2 [2] => K3 [3] => K4 )
die Ausgabe erzeuge ich mit folgendem Code:
$arr = sind die genannten Arrays
for ($k =0; $k < count($arr); $k++)
{
print_r ($arr[$k]);
echo "</br>";
}
Was ich möchte ist, dass die Arraywerte ausgelesen und in neuen Arrays anders sortiert ausgegeben werden:
Ziel:
Array ( => A1 [1] => B1 [2] => K1 )
Array ( => A2 [1] => B2 [2] => K2 )
Array ( => A3 [1] => B3 [2] => K3 )
Array ( => A4 [1] => B4 [2] => K4 )
Danke im voraus!
Gruss
Uwe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 228427
Url: https://administrator.de/contentid/228427
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo,
was du suchst ist das Transponieren von Matrizen, siehe z.B.: http://www4.psychologie.uni-freiburg.de/hyperstat/html/matrizen/matrize ...
Eine einfache Lösung: http://stackoverflow.com/questions/797251/transposing-multidimensional- ...
Gruß
was du suchst ist das Transponieren von Matrizen, siehe z.B.: http://www4.psychologie.uni-freiburg.de/hyperstat/html/matrizen/matrize ...
Eine einfache Lösung: http://stackoverflow.com/questions/797251/transposing-multidimensional- ...
Gruß
Zitat von @FunkerVogt:
Eure Vorschläge beziehen sich doch multidimensionale Arrays?!?!?!?
hab ich ja nicht.
dann beschreibe deine Situation bitte genauer.:Eure Vorschläge beziehen sich doch multidimensionale Arrays?!?!?!?
hab ich ja nicht.
Ich habe eine undefinierte Anzahl Arrays $ZP mit einer undefinierten Anzahl von Elementen!
worin oder wie sind diese definiert ?Das Vorgehen ist aber immer ähnlich mit zwei verschachtelte Schleifen.
Zitat von @FunkerVogt:
Danke Euch beide... Eure Vorschläge beziehen sich doch multidimensionale Arrays?!?!?!?
hab ich ja nicht.
Muss erst einmal bissl rumprobieren wie ich das in meinem Fall hinbekomme!
Danke Euch beide... Eure Vorschläge beziehen sich doch multidimensionale Arrays?!?!?!?
hab ich ja nicht.
Muss erst einmal bissl rumprobieren wie ich das in meinem Fall hinbekomme!
Hi FunkerVogt,
wenn $arr deine Arrays sind, die du mit deinem Code ausgibst, dann hast du doch ein multidimensionales Array,
und somit ist die Definition von colinardo . . .
$arr = array(array("A1","A2","A3","A4"),array("B1","B2","B3","B4"),array("K1","K2","K3","K4"));
. . . ja wohl richtig. Du müsstest, anstatt mit print_r($new_arr) das gesamte Array auszugeben, die einzelnen Arrays aus $new_arr ausgeben.
$new_arr = array();
foreach ($arr as $key => $subarr) {
foreach ($subarr as $subkey => $subvalue) {
$new_arr[$subkey][$key] = $subvalue;
}
}
foreach($new_arr as $arr){
print_r($arr);echo "<br>";
}
Ergebnis:
Array ( => A1 [1] => B1 [2] => K1 )
Array ( => A2 [1] => B2 [2] => K2 )
Array ( => A3 [1] => B3 [2] => K3 )
Array ( => A4 [1] => B4 [2] => K4 )
Array ( => A2 [1] => B2 [2] => K2 )
Array ( => A3 [1] => B3 [2] => K3 )
Array ( => A4 [1] => B4 [2] => K4 )
Was dann wohl deinem Wunschergebnis (siehe oben) entspricht.
Gruss
Günni
Zitat von @FunkerVogt:
Ich habe also kein mehrdimensionales Array sondern X Arrays mit den Werten aus der DB.
für mich hört sich das nach einer umständlichen Lösung an.Ich habe also kein mehrdimensionales Array sondern X Arrays mit den Werten aus der DB.
Zur Info, deine Arrays kannst du ganz einfach in deiner Schleife einem neuen Array mit array_push() hinzufügen und dieses dann zum Schluss mit der obigen Transpose-Methode behandeln und wenn du es brauchst auch wieder zurückwandeln (siehe Günni), bzw. wieder deinen hart gecodeten Arrays zuweisen.
Ich sehe da kein Problem, sorry.
Grüße Uwe