Array Shuffle()
Atom Waffel
- php
0 Peter Pan0 Atom Waffel
Hallo ihr da draußen,
ich versuche mich gerade mit php anzufreunden, also nicht allzuviel voraussetzen ;)
Folgendes Problem:
ich speicher 8 Variablen (die einen $_POST[""]-Wert enthalten;Name $a bis $h; Strings) in einem Array:
$array = array(
"$a",
"$b",
"$c",
"$d",
"$e",
"$f",
"$g",
"$h"
);
gleich geh ich auch mit den variablen $a2 bis $h2 (die einen $_POST[""]-Wert enthalten; Zahlen);
$array2 = array(
"$a2",
"$b2",
"$c2",
"$d2",
"$e2",
"$f2",
"$g2",
"$h2"
);
Nun mischle ich $array:
$sort = shuffle($array);
Beispielergebnis:
$array = array(
"$f",
"$b",
"$c",
"$a",
"$e",
"$f",
"$d",
"$h",
"$g"
);
soweit so gut.
nun will ich wenn wie im Beispiel $a an 4 stelle steht, dass im array $array2 $a2 auch an 4 stelle steht gleich auch mit:
$b --> $b2
$c --> $c2
$d --> $d2
$e --> $e2
$f --> $f2
$g --> $g2
$h --> $h2
wie kann ich das verwirklichen???
Mit freundlichen Grüßen,
Atom Waffel
Hi!
ich versuche mich gerade mit php anzufreunden,
also solltest Du dich nicht zu früh freuen;)
also nicht allzuviel voraussetzen ;)
Nein.
Folgendes Problem:
ich speicher 8 Variablen (die einen $_POST[""]-Wert enthalten;Name $a bis $h; Strings) in einem Array:
Warum? Diese Werte stehen doch bereits im superglobalen Bereich zur Verfügung, oder wie meintest du das?
Den Rest Deines postings habe ich leider nicht verstanden :(
off:P'Posting mehrfach lesend'P
Hallo,
Den Rest Deines postings habe ich leider nicht verstanden :(
Und ich hab mich so bemüht alles genau zu erklären :(
Einfach gesagt (aber trotdem komplizeirt^^)
ich will einfach 8 variablen untereinander mischeln
und dann in zufälliger reihenfolge ausgeben.
Das mach ich so:
$array = array(
"$a",
"$b",
"$c",
"$d",
"$e",
"$f",
"$g",
"$h"
);
$sort = shuffle($array);
Nur als BEISPIEL sieht das Array dannach so aus:
$array = array(
"$f",
"$b",
"$c",
"$a",
"$e",
"$f",
"$d",
"$h",
"$g"
);
Wie man erkennen kann ist $a jetzt die vierte Variabel (anstatt die erste) im Array.
Jetzt will ich dass ein zweites Array auf die Selbe weise gemischelt wird also das (nach unserem BEISPIEL) die variable $a2 auch die vierte Variable ist.
Jetzt verstanden?
Mit freundlichen Grüßen,
Atom Waffel
Hallöchen,
interessanter Plan. Dürfte aber nur mit einem 2-dimensionalen Array funktionieren, da laut Funktionsbeschreibung "Bestehende Schlüssel ... werden entfernt statt einfach nur die Schlüssel neu anzuordnen".
Heißt die Werte müssten vor shuffle() so abgelegt werden:
$array = array(
array($a,$a2),
array($b,$b2),
array($c,$c2),
array($d,$d2),
array($e,$e2),
array($f,$f2),
array($g,$g2),
array($h,$h2),
);
>
> $sort = shuffle($array);
>
Jetzt will ich dass ein zweites Array auf die Selbe weise gemischelt wird also das (nach unserem BEISPIEL) die variable $a2 auch die vierte Variable ist.
$sort[3][0] enthält dann $a
$sort[3][1] enthält dann $a2
Die "4. Position" ist über die "3" in der ersten [] definiert (weil die numerische Indizierung nun mal bei "0" beginnt).
<hinweis>Die Schreibweise "$a" ist in diesem Zusammenhang überflüssig, $a reicht.</hinweis>
MfG
vaudi
Hallo,
danke vaudi endlich jmd der meinen Plan verstanden hat^^.
super lösung danke.
Mit freundlichen Grüßen,
Atom Waffel
Hi!
Jetzt verstanden?
Nimm zwei Array mit identischen Indices!
off:PP
Hallöchen,
Nimm zwei Array mit identischen Indices!
... die von shuffle() durch zufällige neue Indices überschrieben werden?! Und das 2x hintereinander der Zufallsgenerator die gleiche Sortierreihenfolge ausgibt, kann ich mir nicht vorstellen.
MfG
vaudi
Hi!
<del>Nimm zwei Array mit identischen Indices!</del>
... die von shuffle() durch zufällige neue Indices überschrieben werden?! Und das 2x hintereinander der Zufallsgenerator die gleiche Sortierreihenfolge ausgibt, kann ich mir nicht vorstellen.
Nach nochmaligem Lesen dieses Threads muß ich feststellen: ich hatte das Anliegen des OP nicht verstanden - also wird meine Antwort getrichen!
off:PP