第1个实例(自己整理)
第2个实例(51CTO论坛回复得)
51CTO版主回帖:
如果要保留的数超过50%的话,可以换个思路,把所有的数先保存到数组中,然后挨个往外踢,直到剩下的数符合要求为止。
Code代码如下: |
<?php //0-9 10数,取任意5个,且不能有相同数出现 $num = 5;//要产生多少个随机数; $start = 0;//随机数起始位置, $end = 9;//随机数结束位置 $connt = 0; while($connt<$num){ $a[]=rand($start,$end);//产生随机数 $ary=array_unique($a);//遍历数组$a,如有相同的值则剔除该值 $connt=count($ary); } foreach ($ary as $key => $value){ echo "<br />".$value; } ?> |
第2个实例(51CTO论坛回复得)
Code代码如下: |
<? $arr=array(); while(count($arr)<5){ $a=rand(1,10); if(!in_array($a,$arr)){ $arr[]=$a; } } echo '<pre>'; print_r($arr); echo '</pre>' ?> |
51CTO版主回帖:
如果要保留的数超过50%的话,可以换个思路,把所有的数先保存到数组中,然后挨个往外踢,直到剩下的数符合要求为止。