Hallo,
gegeben sei eine Funktion:
function Zufall()
{
return mt_rand(1, 10);
}
Diese werde zweimal in einem "Programm" aufgerufen und sollTe zwei verschiedene Zufallswerte zurückgeben. Dies tut sie leider nicht.
Also versuchte ich es mit einem globalen array $BenutztZufall um dort bereits verwendete Zufallszahlen zu "speichern". Meine Funtion lautete nun:
function Zufall()
{
global $BenutztZufall;
if (count($BenutztZufall) == 10) // Es wurden also bereits alle Zahlen genau n-mal zurückgegeben
$BenutztZufall = array();
$neuerZufall = mt_rand(1, 10);
while (in_array($neuerZufall, $BenutztZufall))
$neuerZufall = mt_rand(1, 10);
$BenutztZufall[] = $neuerZufall;
return $neuerZufall;
}
Dies funktioniert jedoch auch nicht und ich erhalte weiterhin immer dieselbe Zufallszahl. Jemand einen Rat?
Gruß