最新下载
热门教程
- 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));
|
相关文章
- 以闪亮之名店长体验流霞季怎么玩 缘溪临霞套装活动介绍 12-31
- 未定事件簿旧梦新生左然篇怎么玩 旧梦新生左然篇活动介绍 12-31
- 未定事件簿左然破浪远行怎么样 12-31
- 桃源深处有人家行医问诊怎么玩 12-31
- 恋与制作人跨年福利有哪些 恋与制作人跨年福利内容介绍 12-31
- 阴阳师协同对弈大乱斗怎么玩 阴阳师协同对弈大乱斗活动介绍 12-31