我必须从1到3获得三个随机数,结果中没有重复值
附:
$ total ='3';
$ rand1 = rand(1,$ total);
$ rand2 = rand(1,$ total);
$ rand3 = rand(1,$ total);
结果如下:1.2.3或3.2.1,或2.1.3
请帮助我,提前谢谢
答案 0 :(得分:6)
如何改变阵列,如下:
$num = range(1,$total);
shuffle($num);
print_r($num);
答案 1 :(得分:1)
为什么不尝试:
$inp = array(1, 2, 3);
shuffle($inp);
$rand1 = $inp[0];
$rand2 = $inp[1];
$rand3 = $inp[2];
答案 2 :(得分:1)
使用shuffle()功能置换数字1到3的数组。 Shuffle以随机顺序将元素放在数组中。
答案 3 :(得分:0)
$values = array();
$max_value = 10;
$count = 5; // must be less than $max_value of you'll get an infinite while loop
for ( $i = 0; $i < $count; $i++ ){
do {
$value = rand( 1, $max_value );
}
while( isset( $values[ $value ] ) /* && count( $values ) < $count */ )
$values[ $value ] = TRUE;
}
print_r( array_keys( $values ) );