[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: rand
Diablodag
как сделать так что бы число больше не повторилось в цикле
то есть только 1 раз одно число


<?
for ($i = 1; $i <= 20; $i++){
$a = rand(1,100);
echo "$a<br>";
}
?>
rooor
rand на то и rand, что число случайное =)

зы: лучше заюзать mt_rand
Diablodag
<?
for ($i = 1; $i <= 20; $i++){
$a = mt_rand(1,100);
echo "$a<br>";
}
?>


результат тот же самый :)
или как то по другому нужна сделать?
l@pteff
как вариант использовать массив:

$arr=array();
for ($i = 1; $i <= 20; $i++) {
$a = rand(1,100);
array_push($arr, $a);
}

foreach(array_unique($arr) as $key=>$value) {
echo $value.'<br />';
}
Diablodag
ну количество колеблется а не строго 20 чисел (
Diablodag
Google нашел ну не как хотелось бы (
$array = range(1, 100);
$rand_keys = array_rand($array, 20);
foreach ($rand_keys as $key) echo $array[$key] . '<br>';


плиз еще варианты
Diablodag
нашел еще только как сделать так чтобы только отображалось 20 чисел
$nums = range(1, 100);
shuffle($nums);
echo join("<br> ", $nums);
Valick
Цитата
как сделать так чтобы только отображалось 20 чисел

выбираете случайное число от 1 до 80 и делаете цикл 20 итераций со стартовым значением этого случайного числа
___
это первое что пришло в голову которая уже 1.5 часа ищет цитрамон

_____________
Стимулятор ~yoomoney - 41001303250491
Diablodag
Нашел :)
всем большое спасиб
$rand = range(1, 100);
shuffle($rand);


for ($i = 0; $i <= 20; $i++) {
echo $rand[$i] . "<br />";
}


тему можно удалять
Valick
вы взяли тупо первые 20, я же вам предложил "элемент неожиданности"

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.