Требуется заполнять массив числами 0 и 1 в случайном порядке, но чтобы в конечном итоге соотношение этих чисел было примерно такое: 0(60/40)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);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Имеем сервер с проектом подключенным к платежным системамНад проектом трудятся 4 разработчика
Как можно кешировать изображения от тизерных сетей? Например можно ли хотя-бы спарсить их в отдельную папку, а потом оттуда и выдавать?!