3v4l.org

run code in 300+ PHP versions simultaneously
<?php $precision = 100000; $offset = 0; $prizes = [ ['name' => '1', 'chance' => '0.1'], ['name' => '2', 'chance' => '0.2'], ['name' => '3', 'chance' => '0.3'], ['name' => '4', 'chance' => '0.1'], ]; $reduce = $offset; foreach ($prizes as $index => $prize) { $prizes[$index]['min'] = $reduce; $reduce += $prize['chance'] * $precision; $prizes[$index]['max'] = $reduce; } var_dump($prizes);

preferences:
49.58 ms | 402 KiB | 5 Q