Озон/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);
Нет Ответов