Есть массив значений с указаниями шансов выпадения:
$arr = [
'val1' =>[
'qty' => 10,
'chance' => 0.2,
],
'val2' =>[
'qty' => 5,
'chance' => 1,
],
'val3' =>[
'qty' => 3,
'chance' => 0.01
],
'val4' =>[
'qty' => 100,
'chance' => 10
],
];
Рассчитать для целых чисел у меня получилось. Делал методом заполнения массива и определения выпадения по совпадению рандома от 0 до
count($arrResult)-1
. А вот как быть с дробными значения шанса? Нельзя же в массив поместить 0.2 элемента. Так же должны выпадать пустые значения.
P.S. qty - количество элементов, которые могут выпасть в течение сессии, например. chance - это сама вероятность выпадения значения