0

学生が受講したコースの成績をリストする配列を作成しました。ただし、PHP エラー: Undefined Offset on Line 33 が表示されます。テーブルは希望どおりに表示されているようですが、EasyPHP にアップロードした後、ブラウザでこのエラーが繰り返し発生しているようです。私は何を間違えましたか?

<?php
$studentGrades = array(
       array(
          array("<b>Frank Thomas</b>","<b>Courses Taken</b>", "<b>Course Grade</b>"),
          array("Frank Thomas", "Compilers",  "<i>D</i>"),
          array("Frank Thomas", "Logic and Automated Reasoning", "<i>A</i>"),
          array("Frank Thomas", "Advanced Robotics", "<i>A</i>")                      
       ),
       array(
             array("<b>Garry Beebs</b>", "Intro to Computer Vision", "<i>B</i>"),
             array("Garry Beebs", "Machine Learning", "<i>B</i>"),
             array("Garry Beebs", "Compilers", "<i>A</i>"), 
             array("Garry Beebs", "Interactive Computer Graphics", "<i>A</i>") 
            ),
       array(
             array("<b>Jesse Kline</b>", "Distributed Systems", "<i>A</i>"),
             array("Jesse Kline", "Intro to Artificial Intelligence", "<i>C</i>"),
             array("Jesse Kline", "Advanced Robotics", "<i>B</i>"), 
             array("Jesse Kline", "Natural Language Processing", "<i>B</i>")
            )
       );

echo '<table border="2">';
for ( $arrnum = 0; $arrnum < 3; $arrnum++ )
{

for ( $row = 0; $row < 4; $row++ ) 
{
echo '<tr>';

for ( $col = 0; $col < 4; $col++ )
{
 if ($studentGrades[$arrnum][$row][$col] == '') 
 {
    echo "<td> </td>";
 }
 else
 {
    if ($row == 0 and $col == 0)
    {
    echo "<td>". $studentGrades[$arrnum][$row][$col] . "</td>";
    }
    else if ($row != 0 and $col == 0)
    {
        echo "<td> </td>";
    }
    else
    {
    echo "<td>". $studentGrades[$arrnum][$row][$col] . "</td>";
    }                   
 } 
} 

}
echo "</tr>";
}   
echo "</table>";


?>
4

1 に答える 1

0

4 つの列を要求していますが、その配列には 3 つしかありません。

交換

for ( $col = 0; $col < 4; $col++ )

for ( $col = 0; $col < 3; $col++ )

ただし、エラー メッセージには、エラーが発生した行とインデックスが示されているはずです。

于 2013-02-09T22:25:54.677 に答える