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 出阁宴祝福语姐姐简短