php 从一个数组中随机的取出若干个不同的数实例
第一种算法,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));
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短