Озон/Ozone , 2021-08-09, Рандомный массив
Для заданного целого числа, сгенерировать массив из целых, уникальных, случайных чисел, указанного размера.
Есть решения покороче и покрасивее, с применением лямбда-выражений
это решение “в лоб“
Запускаем/проверяем тут: https://3v4l.org/oIDW0#v8.0.9
<?php
define('MAX_INT', 100);
// fill array by unique values
// @param int $n array size
// @return array with randow unique values
function uniqRand($n)
{
$ret = [];
for($i = 0; $i < $n; $i++) {
$unq = false;
while($unq != true) {
$v = rand(0, MAX_INT);
if(!count($ret) || !in_array($v, $ret)) {
$ret[$i] = $v;
$unq = true;
}
}
}
return $ret;
}
// uniqRand(n int) int[]
// uniqRand(5) -> [1,5,100,2,4]
$ret = uniqRand(5);
var_dump($ret);
Нет Ответов