3v4l.org

run code in 300+ PHP versions simultaneously
<?php // function random_number_with_dupe($len = 6, $dup = 1, $sort = false) { $num = range(0,9); shuffle($num); $num = array_slice($num, 0, ($len-$dup)+1); if ($dup > 0) { $k = array_rand($num, 1); for ($i=0;$i<($dup-1);$i++) { $num[] = $num[$k]; } } if ($sort) { sort($num); } return implode('', $num); } echo '4 unique and 2 repetitive digits.'.PHP_EOL; for ($i=0; $i<5; $i++) { echo random_number_with_dupe(6, 2, true).PHP_EOL; } /* 4 unique and 2 repetitive digits. 235699 037789 034677 012249 033569 */ echo '3 unique and 3 repetitive digits.'.PHP_EOL; for ($i=0; $i<5; $i++) { echo random_number_with_dupe(6, 3, true).PHP_EOL; } /* 3 unique and 3 repetitive digits. 015559 011147 111239 677789 456777 */ echo '2 unique and 4 repetitive digits.'.PHP_EOL; for ($i=0; $i<5; $i++) { echo random_number_with_dupe(6, 4, true).PHP_EOL; } /* 2 unique and 4 repetitive digits. 068888 022229 018888 333378 000058 */ echo '1 unique and 5 repetitive digits.'.PHP_EOL; for ($i=0; $i<5; $i++) { echo random_number_with_dupe(6, 5, true).PHP_EOL; } /* 1 unique and 5 repetitive digits. 788888 066666 799999 355555 244444 */ echo '0 unique and 6 repetitive digits.'.PHP_EOL; for ($i=0; $i<5; $i++) { echo random_number_with_dupe(6, 6, true).PHP_EOL; } /* 0 unique and 6 repetitive digits. 888888 333333 777777 888888 777777 */ echo 'All rules.'.PHP_EOL; for ($i=0; $i<6; $i++) { echo random_number_with_dupe(6, $i+1, true).PHP_EOL; } /* All rules. 345789 003569 245666 000089 777778 555555 */ echo 'All rules (random).'.PHP_EOL; for ($i=0; $i<6; $i++) { echo random_number_with_dupe(6, mt_rand(1, 6), true).PHP_EOL; } /* All rules (random). 225678 222222 111359 444444 777778 233349 */

preferences:
24.28 ms | 410 KiB | 5 Q