我开始通过初学者的书学习PHP,并且在特定练习上遇到困难。以下是关于决策和循环的章节结尾处的练习文本:
编写一个从1到10的步数为1的脚本。对于每个数字,显示该数字是奇数还是偶数,如果数字是素数,也会显示一条消息。在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&lt; = $ count”。我的代码怎么样不能用正确的输出完成表?感谢您的善意阅读。
答案 0 :(得分: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
}
?>
答案 1 :(得分: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
}