‘壹’ 请教一下前辈php如何从一个数组中随机取五个数据(下标和值都要)
给你写个函数:
functionhaha($arr){
$keys=array_rand($arr,5);
$re=array();
foreach($keysas$v){
$re[$v]=$arr[$v];
}
return$re;
}
‘贰’ PHP:想要从100个手机号中随机选出10个号该怎么做
把手机放在数组,用随机数函数rand(0,99)产生一个随机数,聪手机数组读出号码放在另外一个数组中,每次读出,用in_array()函数判断是否所产生的号码在数组中
自己编写的一个程序,供楼主参考:
<?php
/*$phone_num数组存有100个手机号,随机产生10个号,放入$phone_rand_num数组中*/
$phone_rand_num=array();
$i=0;
while($i<10)
{
$k=rand(0,99);//产生随机数
while(!in_array($phone_num[$k],$phone_rand_num))
//贺团确保产生的随机数选出的号码不在已读出数禅李橘组中
{
$k=rand(0,99);
}
$phone_rand_num[$i]=$phone_num[$k];
$i++;
}
?>扰族
‘叁’ php中如何生成1-15之间的随机数
可以使用PHP math 函数 rand(1,15)直接返回即可。
定义和用法:rand() 函数返回随机整数。
语法:rand(min,max)。
参数:min,max 可选。规定随机数产生的范围。
说明:如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。
(3)php随机数组值扩展阅读:
提示和注释
注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。
注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。
‘肆’ 如何让php或者JS产生随机名字,从可选名字中随机显示
可以给你一个思路
在php有一个随机函数rand(min,max),min和max分表是设定的随机范围,当然可以不给他们值,那么php会在0-rand_max之间随机取值,在某些平台下(例如 Windows)RAND_MAX 只有 32768。
你可以先定义一个数组,然后循环取出随机的值,保存到数组里面,这么多数据,相信重复的概率是很小了。然后在取出的时候,先获取数组的长度,然后以0为min,数组长度-1为max进行随机获取数据,打印出数组中下标元素为该数的数据,这就是你想要的了。
JS中同上,不过JS随机是用Math.random(),它只会随机0-1之间的数据,所以你要获取多的,最好在后面*10000等你想要的数据,EG:Manth.random()*1000000,其它的原理同PHP
如果需要知道详细代码,请追问,谢谢。
建议自己先试试!
‘伍’ 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_mp($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>";
?>
我写的,提供你参考!
来自萌新小明!
‘陆’ 易语言置随机数种子 php随机数种子
PHP随机数种子的设置与使用
一、PHP随机数种子的设置
在PHP中,随机数种子通常通过srand()函数来设置。设置随机数种子可以确保每次运行脚本时,如果种子相同,则生成的随机数序列也将相同。这对于需要可重复随机数序列的测试场景非常有用。
二、PHP生成随机数的方法
rand()函数:生成一个指定范围内的随机整数。例如,rand(1, 10)将生成一个1到10之间的随机整数。但需要注意的是,rand()函数在某些情况下可能不够安全或高效。
mt_rand()函数:生成一个更安全的随机整数,使用Mersenne Twister算法。这是产生随机值的更好选择,因为它比rand()函数更快且生成的随机数序列具有更好的统计特性。例如,mt_rand(10, 100)将生成一个10到100之间的随机整数。
三、生成不重复的随机数
如果需要生成不重复的随机数,可以使用以下方法:
使用shuffle()函数:将数组中的元素顺序随机打乱。例如,$numbers = range(1, 50); shuffle($numbers); 这将生成一个1到50的不重复随机数列表。
使用array_slice()结合shuffle():从打乱顺序的数组中截取一段作为不重复的随机数序列。例如,$result = array_slice($numbers, 0, 10); 这将从打乱顺序的1到50的数字中截取前10个作为结果。
四、总结
‘柒’ php中怎样从一个数组中随机取一个元素出来呢
它的用法也很简单:array_rand($arr[, $num])$arr == 用来取元素的数组$num == 随机取下标的个数其中第二个参数 $num 是可选的,默认为1 。注意:它的返回值在第二个参数大于 1 的时候是一个数组;当第二个参数不设或者传值 1 的时候是一个下标。简单的示例代码如下:1、第二个参数不传值的情况;$arr = Array('a', 'b');$rndKey = array_rand($arr);echo $arr[$rndKey];//输出 a 或者 b2、第二个参数传值大于 1 的情况;$arr = Array('a', 'b', 'c', 'd');$rndKey = array_rand($arr, 2);print_r($rndKey]);//输出一个随机key的数组