Mam dwa rozwiązania, ale oba wydają mi się słabe.
1. Przepuszczamy wszystkie eventy przez pętla, tam będzie druga pętla for, która doda do jakiejś dodatkowej tablicy event tyle razy, ile wynosi 'probability'. A dalej array_rand. Jeśli cache'owałbym tą dodatkową tablicę, to chyba byłoby całkiem wydajne.
2. W php robimy tablicę np. [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] i losujemy, a potem pobieramy losowy event z danym 'probability'. Minus tego jest taki, że jeśli nie będzie zdarzenia z takim prawdopodobieństwem, to trzeba będzie to zapętlić, aż do skutku.
Macie jakieś inne pomysły? Najlepiej gdyby dało się to załatwić jednym zapytaniem.
