滚压程序php

时间:2018-09-21 18:38:57

标签: php

我在IUPUI上一堂课,并且得到了这些指示

  1. 在NetBeans中,在htdocs \ I210 \ Lab04文件夹中创建一个名为index.php的新PHP网页。
  2. 将文档标题更改为“对六面模具滚动结果的统计分析”;
  3. 在页面的顶部,添加以下PHP代码块和注释。

    <?php
    /*
     * Author: Your name
     * Date: Today’s date
     */
    ?>
    
  4. 在主体部分内,创建一个H2标题,其内容为“ 六边模”位于页面正文的开头。

  5. 在PHP代码块中,创建六个变量以存储管芯每一侧的频率。选择 明智地使用变量名称。例如,您可以将它们命名为$frequency1$frequency2……
  6. 要模拟模具的滚动,请使用名为rand($min, $max)的内置PHP函数来生成模具。 1到6之间的随机数,1是Face 1,2是Face 2,依此类推。以下声明 生成1到6之间的随机数,并将其存储在名为$face的变量中。 $face = rand(1, 6);

  7. 使用条件结构(IF或SWITCH)来增加发生在芯片每一侧的频率。 例如,如果$face的值为1,则将$ frequence1递增1。

  8. 使用循环结构(FOR,WHILE或DO…WHILE)重复执行PHP语句。 最后两个步骤5000次。
  9. 使用表格来显示模具面及其频率在5000次滚动中发生。
  10. 在表格下方,添加刷新按钮。

    <input type="submit" value="Refresh" onclick="window.location.reload()" />
    
  11. 添加CSS以使页面上的所有内容居中。

  12. 彻底测试您的页面。单击“刷新”按钮应生成一组新的频率。 注意:您的频率可能与我的频率不同。“

因为我完成了大部分工作,所以我不要求别人为我完成工作。我似乎无法弄清楚如何使我的代码循环5000次。 这是我目前的代码。

<!DOCTYPE html>
<html>
    <head>
        <title>Statistical analysis of results from rolling a six‐sided die</title>
    </head>
    <body>
        <h2>Statistical analysis of results from rolling a six‐sided die</h2>
        <?php
        $frequency1=0;
        $frequency2=0;
        $frequency3=0;
        $frequency4=0;
        $frequency5=0;
        $frequency6=0;
        $face = rand(1, 6);

if ($face==1)
{
++$frequency1;
}
else if ($face==2) {
    ++$frequency2;
}
else if ($face==3) {
    ++$frequency3;
}else if ($face==4) {
    ++$frequency4;
}else if ($face==5) {
    ++$frequency5;
}else if ($face==6) {
    ++$frequency6;
}
 echo "<table>
            <tr>
                <th>Face</th>
                <th>Frequency</th>
            </tr>";
            $face_num=6;
            $face_count=1; 
            while ($face_count<=$face_num) {
                    $frequency = ${'frequency' . $face_count};
                echo "<tr>
                        <td> $face_count </td>
                        <td> $frequency </td>
                     </tr>";

                $face_count++;
                }
            ?>
        </table>
        <input type="submit" value="Refresh" onclick="window.location.reload()" />  
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

您可以使用for()循环执行该代码5000次。

$frequency = [0, 0, 0, 0, 0, 0];

for($i = 1; $i <= 5000; $i++):
    $face = rand(0, 5); // index's start at 0
    ++$frequency[$face];
endfor;

for($i = 0; $i <= count($frequency) -1; $i++):
    $n = $i +1;
    echo "Frequency {$n} is equal to {$frequency[$i]}";
endfor;

出于可读性考虑,我添加了数组的使用,以便将来更易于管理。

运行此代码10次(而不是5000次),结果如下:

Frequency 1 is equal to 1
Frequency 2 is equal to 3
Frequency 3 is equal to 1
Frequency 4 is equal to 3
Frequency 5 is equal to 1
Frequency 6 is equal to 1

注意:您将需要在自己的视图中实现它。

以下是视图的示例:

$frequency = [0, 0, 0, 0, 0, 0];

echo "<table>";

for($i = 1; $i <= 10; $i++):
    $face = rand(0, 5);
    ++$frequency[$face];
    echo "<tr>";
    echo "<th>";
    echo "Face";
    echo "</th>";
    echo "<th>";
    echo "Frequency";
    echo "</th>";
    echo "</tr>";
    echo "<tr>";
    echo "<th>";
    echo "{$face}";
    echo "</th>";
    echo "<th>";
    echo "{$frequency[$face]}";
    echo "</th>";
    echo "</tr>";
endfor;

echo "</table>";

Example