我需要你的帮助。所以我在codecademy学习,我有这样的练习:
在我们的游戏中,我们会列出我们最亲密的家人和朋友的名单并进行抽奖。 我们将"旋转车轮"并从列表中随机选择我们的一个家人和朋友。 创建一个数组(),其中包含您最亲密的家人和朋友的名字。 阵列中的名字越多,你的游戏就越有趣!
在您创建了列表后,对其进行排序并从列表中随机选择一个名称。
如果您有获奖名称,请将其打印到屏幕上,这样每个人都知道获胜者有多棒。
所以第一种方式可以做到,就像这样,它是准确的:
<?php
$fam=array();
array_push($fam,"Alla");
array_push($fam,"Serega");
array_push($fam,"Anna");
array_push($fam,"Alla");
array_push($fam,"Sonia");
sort($fam);
$num=count($fam);
$rand=rand(0,$num-1);
print strtoupper($fam[$rand]);
?>
但我想通过循环来做,就像这样:
<?php
$fam=array();
array_push($fam,"Alla");
array_push($fam,"Serega");
array_push($fam,"Anna");
array_push($fam,"Alla");
array_push($fam,"Sonia");
sort($fam);
$num=count($fam);
for($i=0;$i<$num;$i++){
$fam[$i]=rand(0,5);
print strtoupper($fam[$i]);
break;
}
?>
在for循环中输出随机数的问题但是 数组$ fam中没有随机名称!如何使用FOR正确地做到这一点 LOOP ??? !!!
答案 0 :(得分:0)
您正在重置名称:
$fam[$i]=rand(0,5); // <= HERE YOU SET NEW VALUE FOR i-th ARRAY ELEMENT
print strtoupper($fam[$i]);
要完成你想要的任务,你需要shuffle
你的阵列:
shuffle($fam);
for($i=0;$i<$num;$i++){
print strtoupper($fam[$i]);
}