Jennesta
Erfahrenes Mitglied
Hey,
ich habe versucht mir eine Funktion zu schreiben, die auf beliebig große Arrays anwendbar ist. Logischerweise aber mind. 2 Elemente besitzen muss.
z.B. ist ein Array wie folgt gegeben(hier jetzt jedes Element durch Komme getrennt).
{A,B,C,D,E,F,G}
Daraus soll die Funktion immer das erste Element an seiner Stelle lassen und alle anderen sollen rotieren, sodass beim ersten Anwenden der Funktion folgendes wird:
{A,C,D,E,F,G,B}
und beim weiteren anwenden
{A,D,E,F,G,B,C}
Diese Funktion sah bei mir wie folgt aus
Wenn ich dies ausführe, dann erhalte ich ein Array mit einem Element mehr wie das ursprüngliche. Das letzte (neue) Element hat dann den Key [-1] und den Wert des $teams[1] wie also auch am Ende gesetzt werden soll.
Danach habe ich mal die Zeile
weggelassen, aber das hat das ganze nur so geändert, das nur noch 2 Elemente im Array $temp existieren.
Ausgeführt wird die Funktion im übrigen so:
Ich wäre sehr froh, wenn mir jemand bei dieser Funktion helfen kann, denn darauf baut mein ganzen weiteres Programm auf.
mfg Jennesta
Nun ist es aber so, dass diese Funktion nicht klappt wie sie soll.
ich habe versucht mir eine Funktion zu schreiben, die auf beliebig große Arrays anwendbar ist. Logischerweise aber mind. 2 Elemente besitzen muss.
z.B. ist ein Array wie folgt gegeben(hier jetzt jedes Element durch Komme getrennt).
{A,B,C,D,E,F,G}
Daraus soll die Funktion immer das erste Element an seiner Stelle lassen und alle anderen sollen rotieren, sodass beim ersten Anwenden der Funktion folgendes wird:
{A,C,D,E,F,G,B}
und beim weiteren anwenden
{A,D,E,F,G,B,C}
Diese Funktion sah bei mir wie folgt aus
PHP:
function shuffle_array($teams) {
$temp = $teams;
$temp[0] = $teams[0];
for($i=1;$i<($anzahlteams-1);$i++) {
$temp[$i] = $teams[$i+1];
}
$temp[$anzahlteams-1] = $teams[1];
return $temp;
}
Wenn ich dies ausführe, dann erhalte ich ein Array mit einem Element mehr wie das ursprüngliche. Das letzte (neue) Element hat dann den Key [-1] und den Wert des $teams[1] wie also auch am Ende gesetzt werden soll.
Danach habe ich mal die Zeile
PHP:
$temp = $teams;
Ausgeführt wird die Funktion im übrigen so:
PHP:
$teams = shuffle_array($teams);
Ich wäre sehr froh, wenn mir jemand bei dieser Funktion helfen kann, denn darauf baut mein ganzen weiteres Programm auf.
mfg Jennesta
Nun ist es aber so, dass diese Funktion nicht klappt wie sie soll.