Заполнение массива числами

246
06 января 2018, 04:08

Требуется заполнять массив числами 0 и 1 в случайном порядке, но чтобы в конечном итоге соотношение этих чисел было примерно такое: 0(60/40)1. Кол-во чисел должно быть разным. Может быть кто-то писал такое и может поделиться кодом? Или же можете натолкнуть на путь истинный в решении данного вопроса?

Answer 1

перенесу комментарии в ответ:

сгенерите случайное число от 0 до 20. прибавьте к нему 50. получите число N, пройдите по массиву, добавьте N-нулей и 100-N единиц. вызовите shuffle

$r = rand(50,70); //rand(0,20) + 50;
$result = [];
$idx = 0;
while($idx++ < 100){
    $result[] = (int)($idx > $r);
};
shuffle($result);
print_r($result);

можно не ходить по массиву, а создать один длиной N с нулями, и второй на 100-N с единицами. затем объединить и перемешать

$a = array_fill(0, $r, 1);
$b = array_fill(0, 100-$r, 0);
$result = array_merge($a, $b);
READ ALSO
Как найти программу на сервере, которая посылает tcp запросы

Как найти программу на сервере, которая посылает tcp запросы

Имеем сервер с проектом подключенным к платежным системамНад проектом трудятся 4 разработчика

231
Вывод сериалов php mysqli

Вывод сериалов php mysqli

Здравствуйте!

216
Возможно ли такое кеширование?

Возможно ли такое кеширование?

Как можно кешировать изображения от тизерных сетей? Например можно ли хотя-бы спарсить их в отдельную папку, а потом оттуда и выдавать?!

215