function rand_number($num) { return rand(0,$num); } function outnumber($n,&$arr,$max) { $number=rand_number($max); if($number>$n) $number=$number%$n+1; while(!empty($arr)){ if(!isset($i)) {unset($arr[$number]);var_dump($arr);}//删除元素 $i=$number;//需要索引才能找到下一个间距为新$number的元素 $number=rand_number($max);//生成下一个随机数 if($number>$n) $number=$number%$n+1; echo ‘下一个间距‘.$number.‘元素‘.‘<br>‘; $count=0; $n=end($arr); while($count<$number){ if($i>=$n) $i=1;//最后一个元素则返回到第一个元素 else $i++; if(!isset($arr[$i])) {continue;} else {$count++;}//找到一个元素才++ } unset($arr[$i]); var_dump($arr); } } $max=100; $n=6; for($i=1;$i<=$n;$i++) $arr[$i]=$i; outnumber($n,$arr,$max);原文:http://www.cnblogs.com/Blogyy/p/4368935.html