【问题标题】:Use For Loop to output name in array?使用 For 循环在数组中输出名称?
【发布时间】:2014-12-03 16:45:38
【问题描述】:

我需要你的帮助。所以我在 codecademy 学习,我有这样的练习:

在我们的游戏中,我们将列出我们最亲密的家人和朋友并进行抽奖。 我们将“转动轮子”并从列表中随机选择我们的一位家人和朋友。 使用您最亲密的家人和朋友的名字创建一个 array()。 数组中的名称越多,您的游戏就会越有趣!

创建列表后,对其进行排序并从列表中随机选择一个名称。

当您获得获奖姓名后,将其以大写字母打印到屏幕上,这样每个人都知道获奖者有多棒。

所以第一种方法可以做到,是这样的,是准确的:

   <?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 LOOP 来做,像这样:

<?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 正确执行此操作 循环???!!!

【问题讨论】:

  • for 循环到底应该做什么?
  • 我不确定你为什么使用break;。如果您想打印一个名称,则无需使用循环。
  • 对不起,我只是误解了一些简单的事情,感谢您的帮助!!

标签: php arrays for-loop random count


【解决方案1】:

您正在重置名称:

$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]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2021-02-20
    • 2021-12-08
    相关资源
    最近更新 更多