第十六课:循环控制语句之while
来源:互联网 发布:用什么程序编c语言 编辑:程序博客网 时间:2024/05/16 14:36
第十六课:循环控制语句之while
说到 PHP中的循环控制你一定会想到我们前几天课程里讲到的for语句吧。是的,那个for真是太有趣了,我只用几行代码就能让它打印一个30行的表格,我把那个30简单的改成100,它就会乖乖的打印一个100行的表格。现在,我们的网上商城里有许多商品供客户挑选,当客户把所选中的商品提交后,我们要用表格一目了然的把他选择的商品呈现在他面前。你准备让你的程序打印一个多少行的表格呢?不知道吧?傻眼了吧?因为你根本就不知道客户选中了多少件商品,所以也不知道让你的 for循环多少次。
那么有没有一种方法,让程序自己确定要循环的次数呢?有,这个循环控制语句就是while。看下面的一个例子16-1:
<?php
echo '<table border=1 width=300>';
echo "<tr><td width=30%>序号</td><td width=70%>商品</td></tr>";
while( @list($key,$sp) = each($_POST['C'] ) ){
$num = $key+1;
echo "<tr><td>$num</td><td>$sp</td></tr>";
}
echo '</table>';
?>
<form method="POST" action="#">
<p>商品:
<input type="checkbox" name="C[]" value="MP3">MP3
<input type="checkbox" name="C[]" value="PDA">PDA
<input type="checkbox" name="C[]" value="VCD">VCD
<input type="checkbox" name="C[]" value="MP4">MP4
<input type="checkbox" name="C[]" value="DVD">DVD
<input type="checkbox" name="C[]" value="手机">手机
<input type="checkbox" name="C[]" value="相机">音乐
<input type="checkbox" name="C[]" value="DV">DV
<input type="checkbox" name="C[]" value="图书">图书</p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
echo '<table border=1 width=300>';
echo "<tr><td width=30%>序号</td><td width=70%>商品</td></tr>";
while( @list($key,$sp) = each($_POST['C'] ) ){
$num = $key+1;
echo "<tr><td>$num</td><td>$sp</td></tr>";
}
echo '</table>';
?>
<form method="POST" action="#">
<p>商品:
<input type="checkbox" name="C[]" value="MP3">MP3
<input type="checkbox" name="C[]" value="PDA">PDA
<input type="checkbox" name="C[]" value="VCD">VCD
<input type="checkbox" name="C[]" value="MP4">MP4
<input type="checkbox" name="C[]" value="DVD">DVD
<input type="checkbox" name="C[]" value="手机">手机
<input type="checkbox" name="C[]" value="相机">音乐
<input type="checkbox" name="C[]" value="DV">DV
<input type="checkbox" name="C[]" value="图书">图书</p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
while语法:
while ( expr ) statement
while 语句的含义是十分简单的,它告诉PHP在while表达式为真的情况下反复执行嵌套的语句,直到表达式的值为假循环结束。表达式在每一次循环开始的时候检查,如果表达式在一开始就为假,那么循环一次也不会执行。
下面看一个用 while语句实现阶乘的例子16-2:
<html>
<body>
<form action="" method="post">
请输入阶乘的阶数:<input type=text name=steps value=1><input type=submit value=提交>
</form>
<br>
<font size=4>阶乘是:</font>
<?php
$sum = 1;
$i = 1;
while ( $i <= @$_POST['steps'] ){
$sum *= $i;
$i++;
}
echo $sum;
echo '<p>';
?>
</body>
</html>
<body>
<form action="" method="post">
请输入阶乘的阶数:<input type=text name=steps value=1><input type=submit value=提交>
</form>
<br>
<font size=4>阶乘是:</font>
<?php
$sum = 1;
$i = 1;
while ( $i <= @$_POST['steps'] ){
$sum *= $i;
$i++;
}
echo $sum;
echo '<p>';
?>
</body>
</html>
例子16-1可能让你有些糊涂吧,有几个地方要给你解释下:在表单中,所有商品的name属性值都是"C",在C后面加上中括号([ ])后,表单提交时,PHP会把这些数据都转化为一个键名为“C”的$_POST数组,$_POST['C'][0]是第一个数据,$_POST['C'][1]是第二个数据,$_POST['C'][2]是第三个数据。。。list($key,$sp) = each($_POST['C'])结构表示把数组$_POST['C']里当前的键值和数据赋值给$key和$sp,然后数组指针下移,直到数组里不在有数据。当然,这个例子最简单的还是使用foreach语句,while与数据库查询语句结合使用要多些,但相关知识我们还未学习到,暂且把这个实例用whille实现,让大家学习一下它的用法。
while 语句主要用在那些循环次数不明确的循环控制。
do...while...语句:
do { statement }
while( expr )
do...while语句是先执行一次循环模块,然后再进行条件判断,无论判断条件是否满足,循环都会被执行一次。例如16-3:
<?php
$i=0;
do{ echo $i; }
while($i>0);
?>
$i=0;
do{ echo $i; }
while($i>0);
?>
- 第十六课:循环控制语句之while
- 控制流程语句之while循环语句、do-while循环语句、for循环语句
- 流程控制语句:循环语句-while
- 流程控制语句:循环语句-do while
- while循环语句 do-while循环语句 for语句嵌套循环语句辅助控制语句
- PHP流程控制语句-while、do..while循环语句
- Java循环语句之 while
- Matlab之while循环语句
- JAVA流程控制语句 循环 while for
- 6.15C循环控制语句for while
- Python流程控制语句->While循环
- If 条件控制 & while循环语句
- 循环控制语句for while do-while if switch
- C语言之while循环语句和do while循环语句、for循环语句、循环嵌套
- 第十二课:循环控制语句之for
- Matlab编程与数据类型 -- 循环控制语句之二:while/end
- 第十六章--控制循环
- C编程(五)流程控制之循环while,do while
- 第十三课:运算符
- 第十四课:处理表单
- 223
- 第十五课:选择控制
- Windows操作系统的发展历史
- 第十六课:循环控制语句之while
- 第十七课:相关补充
- 第十八课:函数
- 第十九课:自定义函数
- 第二十课:常用函数介绍--字符串操作函数
- 第二十一课:文件引用
- 第二十二课:自定义常量
- 第二十三课:PHP中文件读写操作
- 第二十四课:操作MySQL数据库(一)