PHP:for
我目前正在学习一门开始的PHP编程课程,我需要一些帮助来完成我正在努力解决的一项任务。 该任务是创建一个用户可以输入正整数的表单。 然后,使用“for”循环显示由“hr”标签创建的水平线的数量[提示: <hr size=1 width=50% color='black'>
]。 最后,使用if语句来执行“模数”计算。 当“for”循环中的计数器为偶数时,将水平线的宽度设置为50%; 否则,将水平线的宽度设置为100%。
以下是我到目前为止所提供的代码:
<?php
if ($_POST) { // if the form is filled out
$integer = $_POST["pi"];
$i = $integer;
for ($i = 1; $i <= $integer; $i++) {
if ($i % 2) { // modulus operator
echo "<hr size=1 width=50% color='black'>";
} else {
echo "<hr size=1 width=100% color='red'>";
}
}
}
else { // otherwise display the form
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Enter a <i>Positive Integer</i>:
<input type="text" name="pi" size=5>
<input type="submit" value="Check"></form></p>
<?php
}
?>
我目前无法发布图片,但示例输出应该是50%的黑色水平线,然后是100%的红色水平线,直到达到输入的整数。 在每个小时之间似乎有一定的间距。
这一行:
$i = $integer;
... ...是多余的,只要你说for($i = ...
,$我会被覆盖。就你的情况而言,所以应该是这样。
其次,我认为你遇到的问题是你的线条不显示为黑色或红色。 原因是color
是一种字体属性 ,你应该看看这篇文章,了解如何改变你的颜色:改变hr元素的颜色
我建议在你的PHP中使用class='black'
和class='red'
,并在CSS中设置类。
目前尚不清楚问题是什么。 如果问题在于你的HR元素之间有空格,那么删除默认边距将有所帮助(至少在Firefox中,我不确定是否所有浏览器在HR上都使用相同的渲染规则)。
<hr size="1" width=50% color='black' style="margin:0;" />
<hr size="1" width=100% color='red' style="margin:0;" />
问题在于,您将$ i分配给变量$ integer,因此它们是相同的值。
<?php
if ($_POST)
{ // if the form is filled out
$integer = $_POST["pi"];
for ($i = 1; $i <= $integer; $i++)
{
if ($i % 2 ===0)
{ // modulus operator
echo "<hr size=1 width=50% color='black'>";
}
else
{
echo "<hr size=1 width=100% color='red'>";
}
}
}
else
{ // otherwise display the form
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Enter a <i>Positive Integer</i>:
<input type="text" name="pi" size=5>
<input type="submit" value="Check"></form></p>
<?php
}
?>
链接地址: http://www.djcxy.com/p/15759.html
上一篇: PHP: for