永发信息网

程序实现0到9十个数字中选四个不相同的数字随机排列的算法问题,求指教修改

答案:3  悬赏:0  手机版
解决时间 2021-01-29 18:18
程序如下:
<?php
$num1=9;
$arr[0]=rand(0,$num1);
for($a=1;$a<=3;$a++)
{
for($b=0;$b<$a;)
{
$c=rand(0,$num1);
if($arr[$b]!=$c)
{
$b=$b+1;
}
else
$b=0;
}
$arr[$a]=$c;
}
for($p=0;$p<=3;$p++)
{
echo $arr[$p];
}
?>
这个程序运行出来的结果数字中还是有重复的现象,请各位帮我找一下这个程序算法哪里出了问题,谢谢
最佳答案
不需要弄得这么复杂。
<?php
    $min = 0;
    $max = 9;
    $num = 4;
    $baseArray = range($min,$max);              //组成0-9的数组
    shuffle($baseArray);                        //打乱数组
    $output = array_slice($baseArray,0,$num);   //截取前面4个字符作为结果

    echo '<pre>';
    print_r($output);
//End_php
全部回答
直接改掉吧,这句话就够了 print_r(array_rand(range(0,9), 4));
直接改掉吧,这句话就够了 print_r(array_rand(range(0,9), 4)); 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
废品四收地址在什么地方,想过去办事
问个问题 :二手车过户需要重新上牌 上税吗
血液为什麼是红色?且有时呈鲜红色、有时呈暗
空城计的意思是什么啊?知道的请说下!
废品大叔(云顶北路店)地址在哪,我要去那里办
吴世勋喜欢看什么书
ERP中的“领用”和“领用返还”该怎么翻译成
美系杜宾犬德系杜宾犬哪个聪明?
下列有关绿色植物的叙述正确的是AA. 绿色植物
废品大叔(泥窟社店)地址在哪,我要去那里办事
松茸与姬松茸是不是一样的只是叫法不同还是两
遗术的意思是什么啊?知道的请说下!
在日常生活中引起食物腐败的主要原因是DA. 化
慈利县2路公交车路线
于长信废品回收店地址在哪,我要去那里办事
推荐资讯
怎么挑选楼房的观景房
什么毽子好
生过孩子的女人和没生过的阴唇有什么不同
9000平方分米=________平方米?????4.7米=____
中国银行的房贷逾期过好几次 每次都是晚了几
格格梳烫染造型地址有知道的么?有点事想过去
钻戒id0.11ct是咩意思
宽带的连接平均一小时断一次,正常吗
1975年属兔是什么星座
sd卡被刮 ,一点漆被刮了,会影响使用吗
中国移动通信雄石指定专营店地址在哪,我要去
冬天没有夏天长
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?