3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); function nulles($max) { $x = []; for ($i = 1; $i < $max; ++$i) { $md5 = md5((string)$i); $cnt = 0; for ($md_i = 0; $md_i < 32; ++$md_i) { if ($md5[$md_i] !== '0') { break; } ++$cnt; } $x[$cnt] = 1 + ($x[$cnt] ?? 0); } return [$max => $x]; } function raspred($x) { $result = []; foreach ($x as $max => $res) { foreach ($res as $zeros => $count) { $result["от 1 до $max"]["md5 имеет $zeros нулей в начале"] = '1/' . round( $max / $count, 3 ) . ' или ' . round($count / $max * 100, 2) . '%'; } } return $result; } foreach ( [ 5000, 10000, 50000, 100000, 500000, 1000000, 10000000, ] as $size ) { var_dump(raspred(nulles($size))); }
Output for 8.1.15 - 8.1.32, 8.2.10 - 8.2.13, 8.2.15 - 8.2.20, 8.2.22 - 8.2.28, 8.3.0 - 8.3.9, 8.3.11 - 8.3.14, 8.3.16, 8.3.18 - 8.3.23, 8.3.26 - 8.3.27, 8.4.1 - 8.4.3, 8.4.5 - 8.4.7, 8.4.11, 8.4.14, 8.5.0
array(1) { ["от 1 до 5000"]=> array(4) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.072 или 93.26%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.576 или 6.42%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" } } array(1) { ["от 1 до 10000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.071 или 93.41%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.949 или 6.27%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" ["md5 имеет 4 нулей в начале"]=> string(20) "1/10000 или 0.01%" } } array(1) { ["от 1 до 50000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.59%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.589 или 6.03%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/287.356 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/3571.429 или 0.03%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 100000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.069 или 93.58%" ["md5 имеет 1 нулей в начале"]=> string(20) "1/16.54 или 6.05%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/286.533 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/5000 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 500000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.67%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.855 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/269.833 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4385.965 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/83333.333 или 0%" } } array(1) { ["от 1 до 1000000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.067 или 93.68%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.862 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/273.973 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4651.163 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/76923.077 или 0%" } }
Process exited with code 137.
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.1.33, 8.2.14, 8.2.21, 8.2.29, 8.3.10, 8.3.15, 8.3.24 - 8.3.25, 8.4.4, 8.4.8 - 8.4.10, 8.4.12 - 8.4.13
array(1) { ["от 1 до 5000"]=> array(4) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.072 или 93.26%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.576 или 6.42%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" } } array(1) { ["от 1 до 10000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.071 или 93.41%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.949 или 6.27%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" ["md5 имеет 4 нулей в начале"]=> string(20) "1/10000 или 0.01%" } } array(1) { ["от 1 до 50000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.59%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.589 или 6.03%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/287.356 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/3571.429 или 0.03%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 100000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.069 или 93.58%" ["md5 имеет 1 нулей в начале"]=> string(20) "1/16.54 или 6.05%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/286.533 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/5000 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 500000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.67%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.855 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/269.833 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4385.965 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/83333.333 или 0%" } } array(1) { ["от 1 до 1000000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.067 или 93.68%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.862 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/273.973 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4651.163 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/76923.077 или 0%" } } array(1) { ["от 1 до 10000000"]=> array(6) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.067 или 93.75%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/17.045 или 5.87%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/275.186 или 0.36%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4436.557 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(20) "1/59523.81 или 0%" ["md5 имеет 5 нулей в начале"]=> string(19) "1/2000000 или 0%" } }
Output for 8.3.28
/bin/php-8.3.28: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.3.28) /bin/php-8.3.28: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.3.28) /bin/php-8.3.28: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.3.28) /bin/php-8.3.28: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.3.28)
Process exited with code 1.
Output for 8.3.17
array(1) { ["от 1 до 5000"]=> array(4) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.072 или 93.26%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.576 или 6.42%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" } } array(1) { ["от 1 до 10000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.071 или 93.41%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/15.949 или 6.27%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/384.615 или 0.26%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/2500 или 0.04%" ["md5 имеет 4 нулей в начале"]=> string(20) "1/10000 или 0.01%" } } array(1) { ["от 1 до 50000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.59%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.589 или 6.03%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/287.356 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/3571.429 или 0.03%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 100000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.069 или 93.58%" ["md5 имеет 1 нулей в начале"]=> string(20) "1/16.54 или 6.05%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/286.533 или 0.35%" ["md5 имеет 3 нулей в начале"]=> string(19) "1/5000 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(17) "1/50000 или 0%" } } array(1) { ["от 1 до 500000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.068 или 93.67%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.855 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/269.833 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4385.965 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/83333.333 или 0%" } } array(1) { ["от 1 до 1000000"]=> array(5) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.067 или 93.68%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/16.862 или 5.93%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/273.973 или 0.37%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4651.163 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(21) "1/76923.077 или 0%" } } array(1) { ["от 1 до 10000000"]=> array(6) { ["md5 имеет 0 нулей в начале"]=> string(21) "1/1.067 или 93.75%" ["md5 имеет 1 нулей в начале"]=> string(21) "1/17.045 или 5.87%" ["md5 имеет 2 нулей в начале"]=> string(22) "1/275.186 или 0.36%" ["md5 имеет 3 нулей в начале"]=> string(23) "1/4436.557 или 0.02%" ["md5 имеет 4 нулей в начале"]=> string(20) "1/59523.81 или 0%" ["md5 имеет 5 нулей в начале"]=> string(19) "1/2000000 или 0%" } }
Process exited with code 137.

preferences:
108.77 ms | 419 KiB | 5 Q