Создание нового случайного числа каждые 5 секунд Переполнение стека

Мне нужно обновлять переменную число $ x с новым случайным значением каждые 5 секунд (длина не очень важна). Я знаю, как сделать это с помощью конечного цикла, однако, если я хочу, чтобы он был непрерывным и всегда просто обновлялся. Я знаю, как это сделать, просто обновив заголовок, но так как я не хочу, чтобы вся страница перезагрузилась, это на самом деле не вариант. Ниже я попытался обмануть его бесконечным циклом (не лучшим способом), но я также вижу, что он работает так, что он дает мне одно и то же число снова и снова.

Есть идеи?

    <?php

echo "Random Number Updating <br>";
$n = 5;
$x = rand(1,10);

function random() {
$interval = 5; // Interval in seconds
srand(floor(time() / $interval));
$x = rand(0, 10);
echo "$x";
}

while ($x <= 6){
random();
}


?>

0

Решение

В PHP (с обновлением):

while(true) {
if( time() % 5 == 0 ) { // get time in seconds and check if it is multiple of 5
echo rand(0, 10);
break; // break the loop
} else {
sleep(1);
}
}
header("Refresh:5"); // refresh after 5 seconds

В JS (без обновления):

<div id="update">--</div>
<script>
var update = document.getElementById("update");
setInterval(() => update.innerHTML = Math.floor(Math.random() * 10), 5000);
// 5 * 1000 ms = 5 seconds   ----------------------------------------^^^^
</script>
2

Другие решения

<?php

function display_random_numbers($limit, $interval)
{
$counter = 1;
while($counter++ <= $limit) {
$number = rand(1, 10);
echo $number . "\n";
sleep($interval);
}
}

display_random_numbers(10, 1);

Пример вывода:

1
2
10
9
8
9
9
8
4
6
0

По вопросам рекламы [email protected]