Мне нужно четыре разных случайных числа, не повторяя. Поэтому я взял для этого массив. Можете ли вы помочь мне, где я сделал ошибку? У меня 24 вопроса, чтобы прийти в случайном порядке, мне нужно 4 вопроса на страницу, для этого я взял массив «$ questions» и изначально вставил 25 в него. то когда когда-либо я получил случайное число, которое не находится в массиве, я заменяю этот конкретный индекс случайным числом. Где я сделал неправильно?несколько случайных чисел в php без повторения?
<?php
$questions = array(0);
for ($i = 0; $i < 24 ; $i++) {
$questions[$i]= ",";
}
$a="1";
$b="2";
$c="3";
$d="4";
//$a=rand(0, 23);
while(!in_array($a=rand(0, 23), $questions)) {
$replacements = array($a => $a);
$questions = array_replace($questions, $replacements);
$max = sizeof($questions);
if ($max==4) {
break;
}
echo "<br>a=".$a."<br>";
for ($i = 0; $i < 24 ; $i++) {
echo $questions[$i];
}
}
//echo "a=".$a."b=".$b."c=".$c."d=".$d;
?>
Это много повторяющегося кода. Вы когда-нибудь слышали о [DRY] (http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)? – Zeta