lorderich
Goto Top

PHP Array mixen nach Schema

Hallo zusammen,

irgendwie stehe ich nun seit knapp 2 Tagen ein bisschen wie der Ochse vor Berg und sehe die wahrscheinlich einfache Lösung nicht.

Ich habe ein PHP Array, dass wie folgt aussieht:

Array
(
=> Array
(
=> Team 1 vs Team 4
[1] => Team 2 vs Team 3
[2] => Team 2 vs Team 4
[3] => Team 3 vs Team 1
[4] => Team 3 vs Team 4
[5] => Team 1 vs Team 2
)
[1] => Array
(
=> Team 5 vs Team 8
[1] => Team 6 vs Team 7
[2] => Team 6 vs Team 8
[3] => Team 7 vs Team 5
[4] => Team 7 vs Team 8
[5] => Team 5 vs Team 6
)
[2] => Array
(
=> Team 9 vs Team 12
[1] => Team 10 vs Team 11
[2] => Team 10 vs Team 12
[3] => Team 11 vs Team 9
[4] => Team 11 vs Team 12
[5] => Team 9 vs Team 10
)
)

Bei einem einfachen array_merge schiebt er ja einfach die Arrays zusammen, in dem er jeweils ein Array an das andere hängt.

Ich suche jedoch nach einer Lösung, die am Ende folgendes ausspuckt:

Array
(
=> Team 1 vs Team 4 (Index 0 aus Array 0)
[1] => Team 5 vs Team 8 (Index 0 aus Array 1)
[2] => Team 9 vs Team 12 (Index 0 aus Array 2)
[3] => Team 1 vs Team 4 (Index 1 aus Array 0)
[4] => Team 5 vs Team 8 (Index 1 aus Array 1)
[5] => Team 9 vs Team 12 (Index 1 aus Array 2)
und so weiter.
)

Hat jemand eine Idee dafür?

Danke und Grüße

Der Lordi

Content-ID: 519548

Url: https://administrator.de/contentid/519548

Ausgedruckt am: 13.11.2024 um 22:11 Uhr

erikro
Lösung erikro 27.11.2019 aktualisiert um 17:56:16 Uhr
Goto Top
Moin,

na ganz einfach (ich hoffe, das ist so korrekt, PHP ist lange her face-wink )

for($i=0;$i<=5;$i) {

$array_neu = $array1[$i]
$array_neu = $array2[$i]
$array_neu = $array3[$i]

}

<edit>Da war doch ein Denkfehler drin, den ich korrigiert habe. Die Zählervariable muss anders hochgezählt werden.</edit>
<edit2>Noch'n Denkfehler. Das zu erzeugende Array lieber ohne Indices. Geht ja in PHP.</edit>

hth

Erik
Lorderich
Lorderich 28.11.2019 um 01:45:31 Uhr
Goto Top
Danke ^^

Du hast mich auf den richtigen Weg gebracht. Ich habe das ganze jetzt noch ein wenig umgebaut, wenn es mal mehr Gruppen und/oder weniger Spiele etc. gibt.

Mit dem Weg funktioniert das bisher ganz gut.

$nogroups = 3;
$groupgames = count($gamesarray)-1;

for($i=0;$i<=$groupgames;$i++) {
for($g=0;$g<$nogroups;$g++)
{
$matcharray = $gamesarray[$g][$i];
}
}

Danke und Grüße

Lordi
erikro
erikro 28.11.2019 um 08:28:08 Uhr
Goto Top
Gerne