Случайное число по возрастанию PHP
$newfilename = $_POST["form_name"].'-'.rand(100,1000).'.'.$imgext;
Оператор rand выбирает случайное число из заданного диапазона, а как сделать, чтоб он выбирал случайное число, но по возрастанию?
Ответы (2 шт):
Автор решения: Fr3z0n
→ Ссылка
Ну думаю надо сделать что-то типа того, чтобы запоминалось прошлое число.
$rand = rand(100,1000)
$x = 0;
for($i=0;$i<10;$i++)
{
if($rand !== 1000)
{
if($x =< $rand){
$newfilename = $_POST["form_name"].'-'$rand.'.'.$imgext;
$x = $rand;
}
}
}
Автор решения: Эдуард
→ Ссылка
Сохраняйте последний результат в БД, текст.файл, или в сессионный массив, и проверяйте в условии границы диапазонов - если диапазон превышен, сбрасываете значение в хранилище до исходного состояния. Привожу пример с массивом сессий:
session_start();
$min = 100;
$max = 1000;
$rand = &$_SESSION['min'] ?? 0;
$rand = mt_rand( ++$rand, ($rand + 10) );
if ($rand < $min || $rand > $max) {
$rand = $min;
}
echo $rand;