19 12
发新话题
打印

第十二课:循环控制语句之for

本主题由 robin 于 2007-11-24 16:19 移动

第十二课:循环控制语句之for

第十二课:循环控制语句之for

第十二课:循环控制语句之for



  循环控制语句真是太有用了,只要几行代码,我想让它输出30条标题它就会输出30条标题,我把30改成100,它就乖乖的输出100条,我想让它打印100行的表格它就会打印100行的表格,不就是循环吗?这个东西太有用了,那么到底要怎么操作呢?看下面的例子12-1:

复制内容到剪贴板
代码:
<?php



for ( $i=0; $i <20; $i++ ){



  echo $i;



}

?>

这是一个简单的 for循环应用,括号里边有三个表达式,上面的代码可以这样解释:

  循环开始时执行第一个表达式,给变量 $i 赋值 0;接着判断 $i 的值是否小于20,是小于20则执行花括号内的语句,把 $i 的值打印出来;然后执行第三个表达式,把 $i 的值自加一。

  接着下一次循环,执行第二个表达式,判断 $i (此时的值已经是 1 了)的值是否小于20,是小于20则执行花括号内的语句再次打印$i的值;接着执行第三个表达式把$i再自加一(此时$i的值是2了)。

  再进行下一次循环,直到$i的值加到了20,执行第二个表达式时值为假(即$i的值不小于20),循环结束。

for 循环语法如下:

for (expr1; expr2; expr3) statement



  • 第一个表达式expr1会在循环开始时无条件执行,而且仅执行一次;
  • 第二个表达式expr2在每一次循环开始时执行,如果表达式为真,则循环继续下面嵌套语句的执行(比如上例中花括号{}中的代码),如果表达式的值为,则循环结束。
  • 第三个表达式expr3将在每一次循环最后执行。


下面我们来打印一个表格12-2:
复制内容到剪贴板
代码:
<?php



echo '<table border=1 width=300>';



$row = 20;  //定义表格的行数



for ( $n=1; $n < $row + 1; $n++ ) {

        

  if($n%2==1) $bg='#CCCCCC';

  else $bg='9999FF';



  echo "<tr><td bgcolor=$bg>这是第 $n 行</td></tr>";



}



echo '</table>';



?>

for循环还可以嵌套使用,也就是在循环中还可以嵌套循环,你可以在上面三个表达式上做些文章,你会发现for循环的更多用途。但要特别注意:不要让你的循环成了一个无限循环,否则会当机。好了,下面出一个练习结束本课:

  设计一个for循环程序:用表格打印"九九"乘法表。
交流QQ群2:16142493
智能手机软件下载
PHP新手不可错过一帖
PHP新手如何获得积分
论坛需要你,我们大家需要你!

TOP

一楼我先占个做梢后逢上~~
*********************************
天地自在,任我逍遥
http://www.dophp.net/
dophp@qq.com
**********************************

TOP

<?php
for($a=1;$a<=9;$a++){
for($b=1;$b<=9;$b++){
$result=$a*$b;
echo "<table>";
echo "<tr><td>".$a."*".$b."=".$result."</td></tr>";
echo "</table>";
}
}
?>
*********************************
天地自在,任我逍遥
http://www.dophp.net/
dophp@qq.com
**********************************

TOP

我郁闷啊~~~~~~~~  我想打表格....
但没成功...............
高手搞定~~~~~~~~~~~~~~
*********************************
天地自在,任我逍遥
http://www.dophp.net/
dophp@qq.com
**********************************

TOP

我打印表格老是出现这个问题
第十三行的代码如下
<code>echo "<tr><td bgcolor=$bg>这是第$n行</td></tr>";</code>

这是第
Notice: Undefined variable: n行 in d:\usr\www\html\test10.php on line 13

这是第
Notice: Undefined variable: n行 in d:\usr\www\html\test10.php on line 13

这是第
Notice: Undefined variable: n行 in d:\usr\www\html\test10.php on line 13

这是第
Notice: Undefined variable: n行 in d:\usr\www\html\test10.php on line 13

这是第
Notice: Undefined variable: n行 in d:\usr\www\html\test10.php on line 13

这是第
Notice: Undefined variable: n行 in d:\usr\www\html\test10.php on line 13

[ 本帖最后由 tianbing 于 2007-7-31 16:16 编辑 ]

TOP

试试这个

复制内容到剪贴板
代码:
<?php
echo "<table border= 5 width=300 height=20>";
$row = 9;
for ($n=1;$n<10;$n++){
echo "<tr>";
for($r=1;$r<10;$r++)
{
  
  $b = $n*$r;
echo " <td> ". $r."*".$n."=".$b . " </td>";
}
echo "</tr>";
}
echo "</table>";
?>

TOP

注意标签的插入位置

<?php
echo "<table>";
for($a=1;$a<=9;$a++){
echo "<tr>";
for($b=1;$b<=9;$b++){
$result=$a*$b;

echo "<td>".$a."*".$b."=".$result."</td>";

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

TOP

在不懂前辈面前班门弄斧啦

呵呵
在不懂前辈面前班门弄斧啦

TOP


踊跃发表自己的看法 好同志啊
交流QQ群2:16142493
智能手机软件下载
PHP新手不可错过一帖
PHP新手如何获得积分
论坛需要你,我们大家需要你!

TOP

。。。。。。。。。。。恩标签。我老搞不明白。

用 for    和while结合也可以搞顶~~~
就是插入标签时候老不会`~~~~
*********************************
天地自在,任我逍遥
http://www.dophp.net/
dophp@qq.com
**********************************

TOP

 19 12
发新话题