3v4l.org

run code in 300+ PHP versions simultaneously
<?php const RATE = 100; const ITERATIONS = 10_00_000; const EXPECTED = ITERATIONS / RATE; $actual_A = 0; mt_srand(64895); $i = ITERATIONS; while ($i--) { if (mt_rand(0, RATE - 1) == 0) { $actual_A++; } } $actual_B = 0; mt_srand(64895); $i = ITERATIONS; while ($i--) { if (mt_rand(1, RATE) == 1) { $actual_B++; } } echo "Actual A: $actual_A\n"; echo "Actual B: $actual_B\n"; echo "Expected: " . EXPECTED . "\n";
Output for 8.1.0 - 8.1.29, 8.2.0 - 8.2.23, 8.3.0 - 8.3.11
Actual A: 9965 Actual B: 9965 Expected: 10000

preferences:
54.54 ms | 406 KiB | 5 Q