Массив случайных чисел с заданным количеством элементов

DimaP

Новичок
Я думаю, что многие в работе сталкивались с массивами случайных чисел. Это довольно-таки просто, просто создаём массив, состоящий из нескольких переменных, а потом объявляем их значения с помощью random (). Но недавно я наткнулся на следующую задачу: сгенерировать массив с заданным в переменной количеством элементов со случайными значениями. Я в программировании новичок, поэтому не очень понимаю, как можно указать количество элементов в массиве, а потом сгенерировать случайные значения. У вас есть идеи, как это можно сделать?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
for(i<count(N)){
add rand(1, 1000000) to array N
}
 

jewbacabra

Новичок
PHP:
function random_array($n, $min = -100, $max = 100) {
   return array_map(function() use ($min, $max) { return mt_rand($min, $max); }, range(1, $n));
}
var_dump(random_array(10));
 

Crys

Двинутый новичок
PHP:
function random_array($n, $min = -100, $max = 100) {
   return array_map(function() use ($min, $max) { return mt_rand($min, $max); }, range(1, $n));
}
var_dump(random_array(10));
Этот вариант как минимум в два раза медленнее чем вариант с циклом и добавлением рандомных чисел в пустой массив
 

WMix

герр M:)ller
Партнер клуба
@Crys, 2 классов не хватает и оо подхода
PHP:
$decorableArrayGenerator->decorate( new RandDecorator(-100, 100) )->generate( 10 );
 

jewbacabra

Новичок
Этот вариант как минимум в два раза медленнее чем вариант с циклом и добавлением рандомных чисел в пустой массив
Если критична скорость то лучше отказаться от php. Вот будет array_map занимать значительную часть времени и ресурсов, тогда и можно задуматься о цикле
 
Сверху