最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php如何从一个数组中随机的取出若干个不同的数的教程
时间:2022-06-24 19:47:36 编辑:袖梨 来源:一聚教程网
第一种算法,CSDN上别人的想法
代码如下 | 复制代码 |
$num= 0;
$array=array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$arr=array();
$g= 5;
$tag= true;
while($tag) {
$count=count($array);
$t= rand(0, 1);
if($t== 1) {
$arr[] =$array[$num];
unset($array[$num]);
}
$num++;
if(count($arr) ==$g) {
$tag= false;
}
if($num==$count) {
$num= 0; //循环
}
}
var_dump($arr);
|
第二种算法,自己想的。
可以在每次取出数据之后将该数据和最后没有获取的数据替换,然后再去没有取得的数据中随机获取值
代码如下 | 复制代码 |
functionswap(&$a, &$b)
{
$temp=$b;
$b=$a;
$a=$temp;
}
$result=array();
$src=array();
for($i= 0 ;$i< 40 ;$i++)
{
$src[] =$i+ 1;
}
$arr_len=count($src);
$count= 20;
$index= 0;
while($index<$count)
{
$random= rand(0,$arr_len-$index- 1);
$result[] =$src[$random];
swap($src[$random] ,$src[$arr_len-$index- 1]);
$index+= 1;
}
print_r(json_encode($result));
print_r(json_encode($src));
|
相关文章
- 最火全球交易所数字资产交易TOP10-去中心化比特币交易所币安推荐 06-16
- 《大侠立志传》全丙级刀怎么获取 06-16
- Namada Token是什么意思?解析NAM代币背景与生态价值 06-16
- 最新2025正规虚拟币交易平台榜单-最安全现货交易app币安推荐 06-16
- 《宝可梦大集结》快龙技能详尽介绍 06-16
- 《交错战线》坍陨技能有哪些优势 06-16