mir fehlt der letzte funke

RDK

Mitglied
Mahlzeit!

ich hab mal etwas mit PHP angefangen und wollte einen kleinen Zufallsgenerator entwerfen, der mit 6 Zahlen zwischen 1 und 49 (na wofür ist daswohl ? ;) )

nun fehlt mir irgendwie der letzt gedanke wie ich das ganze so hinkriege, daß ich an der stelle wo ich "treffer" ausgebe in meinem script irgendwie eine neue zufallszahl berechnen lassen will, die aber auch gecheckt wird ob sie das erste mal auftritt.

ich hab es schon mit einer function versucht, aber das klappt irgendwie nicht!

hat einer von euch ne idee?

Danke!!!!!


PHP:
$count = 0;
$a[0] = "0";
while ($count < 6)
{
  $zufall = rand(1,49);
  echo "$zufall ";

  if (in_array($zufall, $a)){echo "treffer";}
  else{$a[$count] = "$zufall";echo "$a[$count] ";}


echo "<br>";
$count++;
}
 
Zuletzt bearbeitet:
Würde dir ja gerne helfen nur irgendwie kann ich dir nicht ganz folgen. Kannst du das nochmal was genauer erklären?!

So Long
TheVirus
 
ok!

mein problem ist:
- ich will in dem erschaffenen array keine doppelten zahlen haben!

was mir dazu fehlt:

- ist irgendetwas womit ich an der stelle wo echo "treffer" steht ne zufallszahl generieren lassen kann, die aber auch noch nicht im array vorhanden ist

quasi das ganze was bis dahin ausgeführt worden ist nochmal!

verständlicher? ich hoffe!
 
Versuch's mal damit: :)
PHP:
<?php
$count = 0;
$a[0] = "0";
while ($count < 6)
{
  $zufall = rand(1,49);
  //echo "$zufall ";
  if (!in_array($zufall, $a))
  {
    $a[$count] = "$zufall";
    echo $a[$count];
    $count++;
    echo ("<br>");
  }
}
?>

Hoffe das isses.
TheVirus
 
großartig!

das scheint zu funktionieren!


es lagt also mehr oder weniger an dem ! vor dem in_array
 
Nein, das ist nicht das problem. Dadurch lässt sich das ganze nur verkürzen. Also das else kann man dann weglassen.

Der Punkt ist, dass wenn ein Eintrag drin ist, der counter nicht hochgesetzt wird bis eine zahl gefunden wurde, die NICHT im array ist. Diese wird dann eingefügt und der counter hochgesetzt.

So Long
TheVirus
 
Zurück