
正文
php随机两位数据 php 随机数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中如果从一堆元素中随机出2个元素,举个例子:张三,李四,王五,刘六...有十个名字,
呵呵 这不是选双色球彩票吗?
十个名字放数组里,数组下标1~10
$randnum = mt_rand(1,10); //得到随机值,这样就行了
如果要选N个,那就循环一下,但是要记下已经选择过的数,免得重复选择。
代码如下,思路正确,若有程序问题的话自己改改吧~~~
$selected = array(); //记录已经选出来的数
for ($i=1; $i=10; $i++)
{
$selected[$i] = -1; //初始化
$randnum = mt_rand(1,10); //得到随机值,这样就行了
//比较下是不是重复了,重复就$i--,重新来
$repeat=false;
for($j=0;$j$i;$j++)
{
if($randnum==$selected[$j])
{$i--;$repeat=true;break;}
}
if (!$repeat) //没重复就取这个值,继续
$selected[$i] = $randnum ; //记录已经得到的值
}
最后$selected[] 里面就是N个随机数
相关问答
Q1: php中随机生成十个两位正整数的一维数组,输出最大值及其位置用到mt_rand(10,99)
?php
/*随机生成10个由两位正整数组成的一维数组,输出其中的最大值及所在位置。
(提示:随机函数为rand())*/
header("Content-type: text/html; charset=utf-8");
$rand=array(
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
);
//var_dump($rand);
echo "随机生成10个由两位正整数组成的一维数组为:";
foreach ($rand as $value) {
echo "{$value};";
}
echo "/br";
$Max=max($rand);
echo "其中最大值为:";
echo $Max."/br";
$site=array_search($Max,$rand);
//array_search()函数在数组中搜索某个键值,并返回对应的键名。
$i=$site+1;
echo "它在数组中第".$i."位/br";
?
我写的,提供你参考!
来自萌新小明!
Q2: PHP使用随机函数,产生三个2位整数,输出到页面,并求出三个数中的最大值、最小值、平均值
?php
$a=rand(10,99);
$b=rand(10,99);
$c=rand(10,99);
echo "三个随机数为".$a.",".$b.",".$c;
echo "最大值:".max($a,$b,$c);
echo "最小值:".min($a,$b,$c);
echo "平均值:".($a+$b+$c)/3;
Q3: php如何做到从一个数组里随机选两个不相等的值
?php
$arr1=array("A","B","C","D","E");
$keys = array_rand($arr1, 2);
echo $arr1[$keys[0]].'vs'.$arr1[$keys[1]];
用array_rand()可以直接用第二个参数在数组里随机出你要的数据,不会随机到同一个
关于php随机两位数据和php 随机数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







