产生一个随机数,是这个随机数不能为确定好的数;
例子:产生一个0到10的随机数,但是产生的这个随机数不能是6和8;
我的算法是:把6,8放到数组里,产生一个随机数后到数组里查找,如果存在这个随机数,则重新随机,但是我感觉效率太低了,如果6,8所在的数组里的数太多,感觉效率太低了求算法,要求效率高;
例子:产生一个0到10的随机数,但是产生的这个随机数不能是6和8;
我的算法是:把6,8放到数组里,产生一个随机数后到数组里查找,如果存在这个随机数,则重新随机,但是我感觉效率太低了,如果6,8所在的数组里的数太多,感觉效率太低了求算法,要求效率高;
shuffle($ar); //打乱数组
echo $ar[0]; //输出随机数
$arr2 = array(6,8);
$result = array_diff($arr1, $arr2);
print_r($result);
$arr1 = range(0,10);//產生0-10的數字
shuffle($arr1);//打亂數組
$arr2 = array(6,8);//要去除的數字
$result = array_diff($arr1, $arr2);//去除$arr2中的數字
print_r($result);
結果:Array ( [0] => 0 [1] => 2 [4] => 9 [5] => 1 [6] => 3 [7] => 4 [8] => 5 [9] => 7 [10] => 10 )
$a = array('0','1','2','3','4','5','7','9','10');
echo $a[rand(0,8)];