【问题标题】:Associative Array and Boolean Check in PHPPHP中的关联数组和布尔检查
【发布时间】:2021-08-01 12:18:58
【问题描述】:

我不太确定如何调用关联数组来验证数字是真还是假,因为我正在为注册类做一个简单的检查器。最大类容量为 40,文件结合 HTML 和 PHP。

我是这样做的:-

<?php   
     //Create the association array.
     $classInfo = array("J1" => 20 ,"J2" => 30,"J3" => 10,"J4" => 43,
                          "J5" => 40,"J6" => 45,"J7" => 15,"J8" => 34,"J9" => 10,"J10" => 45);

     $class = array_keys($classInfo);
     $totalEnroll = count($classInfo);
?>

守则:-

    <table width="300" style="border: 1px solid black">
        <tr>
            <?php
                // class and enroll Lists
                echo "<td width=20>";  
                echo "Class"."&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp"." Enroll"."<br><hr>";
                    for($i=0; $i < $totalEnroll; ++$i) { 
                        echo $class[$i] . "&nbsp&nbsp&nbsp&nbsp&nbsp" . 
                             $classInfo[$class[$i]] . "<br>"; 
                    } 
                echo "</td>";
                
                // Enroll to check whether the classroom is full.
                echo "<td width=20>";
                    echo "Class States" . "<br><hr>";
                    for($check = 0; $check < 10; $check++){
                        if($classInfo[$totalEnroll[$check]] >= 0 && 
                           $classInfo[$totalEnroll[$check]] <= 40){
                            echo "Full";
                            echo " <br>";
                        } else {
                            echo "Not Full";
                            echo " <br>";
                        }
                    }
                echo "</td>";
            ?>
        </tr>
    </table>

我想要的输出:-

Class Enroll Full States
J1 20 Not Full
J5 40 Full

请检查部分说`//注册以检查教室是否已满。这是检查注册类代码的地方。

不过,顺便说一下,输出可以在类似表格的列中更清晰地对齐。

【问题讨论】:

    标签: php arrays boolean associative-array


    【解决方案1】:

    您在两个单独的循环中显示数据,这使得数据难以对齐,您应该将其设置为 1 个循环,并在每组项目周围使用 &lt;tr&gt;&lt;td&gt; 标签...

    <table width="300" style="border: 1px solid black">
        <?php
            foreach ( $classInfo as $className => $enrolled )   {
                echo "<tr>";
                // class and enroll Lists
                echo "<td>{$className}</td>";
                echo "<td>{$enrolled}</td>";
    
                // Enroll to check whether the classroom is full.
                echo "<td>";
                if($enrolled <= 40){
                    echo "Full";
                } else {
                    echo "Not Full";
                }
                echo "</td>";
                echo "</tr>";
            }
        ?>
    </table>
    

    (这不包括标题,但我相信你可以添加它)。

    【讨论】:

    • 谢谢你,我明白了...请问你怎么知道什么时候单独循环或在 1 个循环中循环
    • 你为什么把这个{}放在这里echo "&lt;td&gt;{$className}&lt;/td&gt;";
    • 如果您需要在这种情况下关联数据,一个循环有助于将两者联系在一起。如果您希望它们一个接一个地出现在列表中,那么 2 个循环会更好。
    • {} 只是明确了变量是什么 - stackoverflow.com/questions/2596837/…
    • 哦,在{ } 之前我从来不知道这件事。真的谢谢你给我解释。我得学点新东西嘿嘿。这很有帮助:) @Nigel Ren
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2014-07-12
    • 2011-01-24
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多