网站开发日志

2008年9月8日星期一

分享家:Addthis中国

PHP随机产生数组

在百度知道看到一个网友的提问:

我想在1-33随机生成6个不重复的数字,以此为一组;可以短时间内生成很多组的方法或软件,最好能用文档保存结果,请问类似的程序有吗?

刚好有空,就用PHP写了一个:

<?php
$sets = isset($_GET['sets'])?$_GET['sets']:10;
$min  = isset($_GET['min'])?$_GET['min']:1;
$max  = isset($_GET['max'])?$_GET['max']:33;
if ($min >= $max){
  echo "最小值必须比最大值小!";
  exit;
}
if ($sets >500){
 echo "只能给你500组:-) 如果你要更多,请写信给我,AdamCai@Live.com!";
 exit;
}
$myset=array();
for ($i=0; $i<$sets; $i++){
	while(count($myset)<6){
		$a = rand($min, $max);
		if (array_search($a, $myset) === FALSE){	
			$myset[] = $a;
		}
	}
	foreach ($myset as $index => $value){
		echo $value;
		if ($index < 5) echo " ";
		else echo "<br />";
	}
	$myset = array();
}
?>

演示:http://www.61dh.com/code/match.php?sets=20&min=1&max=200

这里sets代表需要的组数,min代表数组的最小值,max代表数组的最大值。

更新(09/30/2008): 我在这小段程序的基础上,做了一个彩票电脑选号器, 有兴趣的朋友可以看看。

标签:

相关文章:

0 条评论:

发表评论

指向此帖子的链接: