yoursmilie
Well-known member
- 25 April 2006
- 848
- 52
Ich probiere mich gerade mal wieder an PHP und stehe in meinen Augen vor einem Logikproblem.
Ich will 5 Zufallszahlen generieren, die in einer Array abgelegt werden. Soweit auch kein Problem:
Wie kann ich jetzt aber ausschließen, dass die Zahlen doppelt sind, ohne jedes einzeln mit einer if Abfrage zu vergleichen. Ich hatte mir gedacht, dass man es mit einer zweiten for-Schleife innerhalb der ersten macht und diese dann vergleicht. Wollte mir aber nicht so ganz gelingen:
Kann mir jemand sagen, wo mein Fehler liegt, wenn meine Lösung vom Gedanken her richtig ist? Bzw. kann mir jemand sagen, wie ich das Problem mit doppelten Zahlen anders lösen könnte?
Ich will 5 Zufallszahlen generieren, die in einer Array abgelegt werden. Soweit auch kein Problem:
PHP:
$b=array();
for($i=0;$i<6;$i++) {
array_push($b,rand(1,20));
}
Wie kann ich jetzt aber ausschließen, dass die Zahlen doppelt sind, ohne jedes einzeln mit einer if Abfrage zu vergleichen. Ich hatte mir gedacht, dass man es mit einer zweiten for-Schleife innerhalb der ersten macht und diese dann vergleicht. Wollte mir aber nicht so ganz gelingen:
PHP:
$b=array();
for($i=0;$i<6;$i++) {
array_push($b,rand(1,20));
for($j=0;$j<$i;$j++) {
if($i <> $j) {
while($b[i] = $b[j]) {
$b[i] = rand(1,20);
} } } }
Kann mir jemand sagen, wo mein Fehler liegt, wenn meine Lösung vom Gedanken her richtig ist? Bzw. kann mir jemand sagen, wie ich das Problem mit doppelten Zahlen anders lösen könnte?