作者buganini (霸格尼尼)
看板PHP
标题Re: [请益] rand问题
时间Sun Feb 4 02:25:39 2007
※ 引述《satire (夫复何求..)》之铭言:
: ※ 引述《sonicjr (平凡中的不平凡)》之铭言:
: : 使用 srand() 函式 这是设定乱数种子用的
: : 可以使用时间因素 以百万分之一秒当乱数种子
: : srand((double)microtime()*1000000);
: : 这时在使用 rand() 函式 乱数的重复率就会比较低
: 这个有段时间了...
: 不过想想 还是回好了
: 刚好前几天老师有要我做到类似的homework
: 不过 我的题目是"先绘制出骰子图 在网页中 以php程式 乱数值出骰子点数"
: 我程式码是这样写的...
: <?
: srand((double)microtime()*1000000); //以百万分之一秒当作乱数种子
: $d1=rand(1,6); //定义出第一颗骰子,在1~6中间 自动掷出一个乱数值
: $d2=rand(1,6);
: $d3=rand(1,6);
: echo "<center>";
: echo "<img src=dise$d1.jpg>";//放入骰子图片 以乱数掷出
: echo "<img src=dise$d2.jpg>";
: echo "<img src=dise$d3.jpg>";
: echo "<hr>掷出的点数为:".($d1+$d2+$d3);//三颗骰子的点数总和
: echo "</center>";
: ?>
: 应该...看得懂吧?
<?
$d=$tmp=array();
$rnd=0;
$tmp[0]=1;
for($i=0;$i<3;$i++){
while(isset($tmp[$rnd])){
$rnd=rand(1,6);
}
$d[]=$rnd;
$tmp[$rnd]=1;
}
?>
$d里面就会是不重复的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.22.93.130
1F:推 eric77712:这个方法拿来做电脑选号不错喔~~ XD 02/04 20:40
2F:推 buganini:XD 02/08 02:11