Generate array with unique random numbers
本问题已经有最佳答案,请猛点这里访问。
我想生成一个带有随机数的数组。我不希望相同的值在数组中出现两次。我希望所有五个值都是唯一的。我该怎么办?
1 2 3 4 5 6 7 8 |
尝试一下:
1 2 3 4 5 6 7 8 9 10 |
演示:https://eval.in/101433
演示输出:
1 2 3 4 5 6 7 8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
我有这个主意...应该有更好的主意,但是我认为这是一个主意:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $rand1 = rand(1, 50); do{ $rand2 = rand(1, 50); }while($rand2==$rand1); do{ $rand3 = rand(1, 50); }while($rand3==$rand2 || $rand3==$rand1); do{ $rand4 = rand(1, 50); }while($rand4==$rand3 || $rand4==$rand2 || $rand4==$rand1); do{ $rand5 = rand(1, 50); }while($rand5==$rand4 || $rand5==$rand3 || $rand5==$rand2 || $rand5==$rand1); $input = array($rand1,$rand2,$rand3,$rand4,$rand5); print_r($input); |