Mam pewien problem z funkcją array_rand. Chodzi o losowanie sześciu liczb z zakresu od 1 do 49.
Kod wygląda tak
Kod
for ($i = 0; $i < 1000; $i++){
$liczby = range(1,49);
$wynik = array_rand($liczby,6);
foreach($wynik as $liczba)
{
echo $liczby[$liczba];
echo ' ';
}
echo '
';
}
$liczby = range(1,49);
$wynik = array_rand($liczby,6);
foreach($wynik as $liczba)
{
echo $liczby[$liczba];
echo ' ';
}
echo '
';
}
Na stronie wyświetla się 1000 wyników. Problem w tym, że tylko ~700 wyników jest unikalnych, reszta to dokładnie takie same wyniki jak te pierwsze 700, są nawet wyświetlanie w takiej samej kolejności. Jeśli skopiuję kilka wyników i przeładuję stronę (czyli wyniki powinny zostać wylosowane na nowo) okazuje się, że wylosowane zostały znów te same wyniki (zupełnie jakby "pamięć" programu losującego została zapchana i ciągle losuje te same wyniki). Dlaczego tak się dzieje, da się to jakoś obejść?
I druga sprawa, dlaczego niektóry wyniki nie są wyświetlane od najmniejsze do największej liczby (większość jest wyświetlona dobrze)?
Pozdrawiam i z góry dziękuje za odpowiedzi.
EDIT:
Jeśli ma to jakieś znaczenie to korzystam z Krasnala w wersji 2.7.