2010年10月17日 星期日 22:06
方法1.
$temp_arr = array();
$my_arr = array();
for($i = 0;$i<10;$i++){
array_push($temp_arr, $i);
}
for($j=0;$j<10;$j++){
$my_arr[] = array_splice($temp_arr, rand(0, sizeof($temp_arr) - 1), 1);
}
print_r($my_arr);
方法2.
//随机生成不重复的数据
function getRand($min,$max,$ary){
$myrand = '';
$myrand = rand($min,$max);
return in_array($myrand,$ary) ? getRand($min,$max,$ary) : $myrand;
}
function getLottery(){
$ary = array();
$con = array();
global $DB_article;
$sql_str = "SELECT count(*) FROM module_data WHERE moduleid in (846) AND status=0 ORDER BY date DESC ";
$num = $DB_article->get_var($sql_str,"O");
$num = $num-1;
for($i=0;$i< $num;$i++){
$con[] = getRand(0,$num,$con);
}
shuffle($con); // 打乱数组
return $con;
}
方法3.
<?php
/*
随机生成福彩双色球号码
程序:天凡
httP://blog.tianfan.net
*/
$red = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33);
$blue = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
for ($i=0;$i<6;$i++){
$index = rand(0,32-$i);
$redBall[]= $red[$index];
unset($red[$index]);
for($k=$index;$k<count($red)-1;$k++){
$red[$k]=$red[$k+1];
}
}
asort($redBall);
?>
<div style="background-color:red;color:white;width:160px;float:left;text-align:center;">
<?php
foreach($redBall as $v){
echo $v." ";
}
?>
</div>
<div style="background-color:blue;color:white;width:40px;float:left;text-align:center">
<?php
echo $blue[rand(0,15)];
?>
</div>
第一种最简单,最开始不知道,一个网友提供给我的解决方案。
第二种比较笨,写了两个函数来实现(我自己写的,很笨!)。
第三个来自网友天凡 提供他的彩票程序实现的。
程序没详细注释,个人觉得没必要注释!
Zeuux © 2024
京ICP备05028076号