0

我开始通过一本初学者的书学习 PHP,并且在特定的练习中遇到了困难。这是关于决策和循环的一章末尾的练习文本:

编写一个以 1 为步从 1 到 10 的脚本。对于每个数字,显示该数字是奇数还是偶数,如果该数字是质数,还显示一条消息。在 HTML 表格中显示此信息。

我搜索了 www.php.net 并在 stackoverflow 上寻找与我所拥有的类似的问题,但没有找到任何可以正确完成代码的东西。这是我的代码,然后是它生成的输出的描述:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Counting to ten</title>
    <link rel="stylesheet" type="text.css" href="common.css" />
    <style type="text/css">
        th { text-align: center; background-color: #999; }
        th, td ( padding: 0.6em; )
        tr.alt td { background: #ddd }
    </style>
</head>
<body>

    <h3>Counting to ten</h3>

    <table cellspacing="1" border="1" style="width: 20em; border: 1px solid #999;">
        <tr>
            <th>Number</th>
            <th>Odd/Even</th>
        </tr>

<?php

$count = 10;

$num1 = 0;
$num2 = 1;

for ( $i=2; $i <= $count; $i++ )

{
$sum = $num1 + $num2;
$num1 = $num2;
$num2 = $sum;
}

?>
    <tr <?php if ( $i % 2 == 0 ) echo ' class="alt"' ?>>
        <td><?php echo $i?></td>
        <td><?php echo "even" ?></td>
    </tr>
    <tr <?php if ( $i % 2 == 1 ) ?>>
        <td><?php echo $i?></td>
        <td><?php echo "odd" ?></td>
    </tr>
</body>
</html>

我没有收到错误。我正在接收带有表格的输出,正确的标题和格式,下面的两行说“11,偶数”[下一行]“11,奇数”。我尝试将 $count 的值更改为 0,这在本练习中没有意义,因为我使用的是“$i <= $count”。我的代码无法以正确的输出完成表格怎么办?感谢您阅读的好意。

4

2 回答 2

0

您需要将输出表格的部分放在 for 循环中......

<?php

$count = 10;

$num1 = 0;
$num2 = 1;

for ( $i=2; $i <= $count; $i++ ){
  $sum = $num1 + $num2;
  $num1 = $num2;
  $num2 = $sum;
  ?>
    <tr <?php if ( $i % 2 == 0 ) echo ' class="alt"' ?>>
        <td><?php echo $i?></td>
        <td><?php echo "even" ?></td>
    </tr>
    <tr <?php if ( $i % 2 == 1 ) ?>>
        <td><?php echo $i?></td>
        <td><?php echo "odd" ?></td>
    </tr>
  <?php
}

?>
于 2013-02-20T23:35:16.140 回答
0

您需要将 html 生成放在循环中,并且每次迭代只想输出一行

for ( $i=2; $i <= $count; $i++ )
{
   ?>
    <tr <?php if ( $i % 2 == 0 ) echo ' class="alt"'; ?>>
        <td><?php echo $i?></td>
        <td><?php 
            if ( $i % 2 == 0 ) echo 'even';
            else echo 'odd'; # there's a shorter way to do this bit too
         ?></td>
    </tr>
  <?php

}
于 2013-02-20T23:39:16.947 回答