使用PHP,如何从数字范围中选择3个不重复的数字?
例如,范围为1 - 100,答案可能是5,32,12,但不是5,5,93
谢谢
答案 0 :(得分:3)
创建1到100之间的数字数组:
$numbers = range(1, 100);
随机播放所有数字:
shuffle($numbers);
仅检索其中的3个:
$randomNumbers = array_slice($numbers, 0, 3);
答案 1 :(得分:0)
试试这个:
$numbers = [];
$min = 1;
$max = 3;
for($i=0; $i<3; $i++){
$rnd = rand($min, $max);
while(in_array($rnd, $numbers)){ // while generated random number is already in the numbers array
$rnd = rand($min, $max); // generate a new random number
} // loop ends when newly generated random number is not in the array already
array_push($numbers, $rnd); // push the new random number into the array
}
它会在1到3之间生成3个不同的数字,并将它们保存到$numbers
数组中。