@anmar1972

Рандомный вывод текста на php 3 блоками?

На странице 3 блока должны выводить каждый свой текст, а они между собой перемешиваются. То-есть должно:
1a
1b
1c
а получается:
1b
1b
2a
Как их научить уму разуму?

Код
spoiler
<html>

<head>
	
<title>123</title>
</head>


<body>

<div class="1">
<?php
    
$quotes[] = '1a';
    
$quotes[] = '1b';
    
$quotes[] = '1c';
    
srand ((double) microtime() * 1000000);
    
$random_number = rand(0,count($quotes)-1);
 
echo ($quotes[$random_number]);  

?>
</div>

<div class="2">
<?php
    
$quotes[] = '2a';
    
$quotes[] = '2b';
    
$quotes[] = '2c';
    
srand ((double) microtime() * 1000000);
    
$random_number = rand(0,count($quotes)-1);
 
echo ($quotes[$random_number]);  

?>
</div>

<div class="3">
<?php
    
$quotes[] = '3a';
    
$quotes[] = '3b';
    
$quotes[] = '3c';
    
srand ((double) microtime() * 1000000);
    
$random_number = rand(0,count($quotes)-1);
 
echo ($quotes[$random_number]);  

?>
</div>

</body>

</html>
  • Вопрос задан
  • 346 просмотров
Пригласить эксперта
Ответы на вопрос 3
@galliard
Может быть очищать массив перед повторным использованием? Или использовать 3 разных массива для каждого блока.
Ответ написан
Комментировать
Aligatro
@Aligatro
Turn food and coffee into software...
Вот можете посмотреть почему это происходит. Каждый раз вы не перезаписываете значения а добавляете новые к существующему массиву. Для того что-бы всё работало, null'айте массив перед каждым заполнением.
Ответ написан
Комментировать
$quotes = ['1a', '1b', '1c'];
echo $quotes[mt_rand(0, count($quotes) - 1)];
...
$quotes = ['2a', '2b', '2c'];
echo $quotes[mt_rand(0, count($quotes) - 1)];
...
и т.д., тоесть нужно заново инициировать массив
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы