Autor Zpráva
Greno
Profil *
Neviete mi poradit ako by sa dalo zabezpecit aby mi v cykle for kde sa generuje nahodne cislo vygenerovalo vzdy ine, teda aby sa neopakovalo??
Diky
jonge
Profil
rand(min, max);
hacesoft
Profil
a jeste si vest seznam co uz bylo vygenerovano a pokazde provest porovnani zda takove cislo uz neexistuje, pokud ano, tak generovat znovu.... Ale toto asi neni dobre delat v PHP.....
Greno
Profil *
rand poznam ale ked generujem napr. 50 cisel zo 100 tak sa opakuju niektore aj 2-3krat.
25k
Profil *
<?php

$count=10;
$cisla = range(1,100);
$array_of_links = array_unique($cisla);
$count = ($count > count($array_of_links)) ? count($array_of_links) : $count;
foreach (array_rand($array_of_links, $count) as $link)
{

echo $array_of_links[$link] . "<br/>";
}


?>
Greno
Profil *
Mohli by ste mi to niekto vysvetlit?? Ja tomu absolutne nechapem :-[
djlj
Profil
Greno
Zde je vše popsáno:
http://cz2.php.net/range
http://cz2.php.net/array_unique
http://cz2.php.net/count
http://cz2.php.net/array_rand
25k
Profil *
Sorry, je to kokotina...

takze znova



<?php
$numbers = range(1, 100);
srand((float)microtime() * 1000000);
shuffle($numbers);

$counter = 0;
foreach ($numbers as $number) {

$counter++;
if ($counter == 10)
break;


echo "$number <br />";
}
?>

Greno
Profil *
a ako to dostanem do cyklu for aby mi pri kazdom opakovani vytvorilo nove cislo?
apofis
Profil
Já bych to řešil asi tahle.

<?php
$cisel = 100;
$min = 0;
$max = 100;
$cisla = array();

if ($cisel > ($max-$min))
die("Nedostatečný rozsah");
for ($i=1;$i<=$cisel;$i++){
$cislo = mt_rand($min,$max);
if (in_array($cislo,$cisla))
$i=$i-1;
else
$cisla[] = $cislo;
}

print_r($cisla);

?>

Do čísel se dostaneš pak $cisla[poradi]
Toto téma je uzamčeno. Odpověď nelze zaslat.