Php 是否使用For循环在数组中输出名称?

Php 是否使用For循环在数组中输出名称?,php,arrays,for-loop,random,count,Php,Arrays,For Loop,Random,Count,我需要你的帮助。所以我在codecademy学习,我有这样的练习: 在我们的游戏中,我们将列出我们最亲密的家人和朋友的名单,并进行抽奖。 我们将“旋转轮子”,从列表中随机选择一位家人和朋友。 使用您最亲密的家人和朋友的姓名创建一个数组()。 数组中的名字越多,游戏就越有趣 创建列表后,对其排序并从列表中随机选择一个名称 当你有你的得奖名字时,用大写字母将它打印到屏幕上,这样每个人都知道获胜者有多棒 所以第一种方法是这样的,它是准确的: <?php $fam=array(); arra

我需要你的帮助。所以我在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]);    

?>

但我想通过FOR循环来实现,如下所示:


在for循环中,它输出随机数,但 不是数组$fam中的随机名称!如何正确地使用 循环


您正在重置名称:

$fam[$i]=rand(0,5); // <= HERE YOU SET NEW VALUE FOR i-th ARRAY ELEMENT
print strtoupper($fam[$i]);

for循环到底应该做什么?我不知道为什么使用
break。如果你想打印一个名字,那么就不需要使用循环。对不起,伙计们,我只是误解了一些简单的事情,谢谢你们的帮助!!
$fam[$i]=rand(0,5); // <= HERE YOU SET NEW VALUE FOR i-th ARRAY ELEMENT
print strtoupper($fam[$i]);
shuffle($fam);
for($i=0;$i<$num;$i++){
  print strtoupper($fam[$i]);
}