У меня есть код, в котором создается массив $steps с массивами с 1 по 7.
В каждом массиве position должен быть рандомным, но при этом уникальным.
По этому я делаю цикл рандома, пока в массиве $positions (в него вношу уже сгенерированные цифры) не будет полученного числа.
Но это выдает ошибку в 60 секунд:
$steps = [];
for ($i = 1; $i <=7; $i++)
{
$positions = [];
for ($coefs = 1; $coefs <= $i; $coefs++)
{
$created = false;
do {
$rand = random_int(1, 6);
if (isset($positions[$rand]) === false) {
$created = true;
} else {
$created = false;
}
} while ($created == false);
$steps[$i][$coefs] = ['position' => $rand, 'positions' => $positions];
$positions[$rand] = true;
}
}