代码有什么问题

时间:2012-07-09 14:08:32

标签: php

我对php很新。我正在读一本关于while循环的例子的书:

<html>
<body>
<table border="0" cellpadding="3">
<tr>
<td bgcolor="#CCCCCC" align="center">Distance</td>
<td bgcolor="#CCCCCC" align="center">Cost</td>
</tr>
<?

  $distance = 50;
  while ($distance <= 250) {
  echo "<tr>
    <td align=\"right\">".$distance."</td>
    <td align=\"right\">".($distance / 10)."</td>
    </tr>\n";

  $distance += 50;
}

?>
</table>
</body>
</html>

以下是我在Apache Web服务器上运行此代码时的结果:

\n"; $distance += 50; } ?>
Distance     Cost
".$distance."   ".($distance / 10)."

我不知道为什么不打印$distance的值。你能帮我解决一下吗?非常感谢你!

4 个答案:

答案 0 :(得分:5)

使用<?php启动代码块,而不是<?Do not use short tags

(如果您的书中包含带有短标签的PHP示例,以及带有bgcolor的HTML示例,那么我建议您使用较新的示例。

答案 1 :(得分:1)

尝试使用

<?php ?>

而不是

<? ?>

答案 2 :(得分:1)

首先,php代码应以“<?php”开头,请将“<?”替换为“<?php”。然后,该文件应保存为“.php”文件。

答案 3 :(得分:0)

在HTML-Context中(即你正在编写一个html页面),使用模板风格更为清楚:

<html>
    <body>
        <table border="0" cellpadding="3">
            <tr>
                <td bgcolor="#CCCCCC" align="center">Distance</td>
                <td bgcolor="#CCCCCC" align="center">Cost</td>
            </tr>
            <?php for($distance = 50; $distance <= 250; $distance += 50): ?>
            <tr>
                <td align="right"><?php echo $distance ?></td>
                <td align="right"><?php echo $distance / 10 ?></td>
            </tr>
            <?php endfor ?>
        </table>
    </body>
</html>

这也与像Dreamweaver这样的所见即所得编辑兼容。