发布网友 发布时间:2022-04-06 06:52
共9个回答
懂视网 时间:2022-04-06 11:13
我们在编写代码时,经常需要反复运行同一代码块。这时我们就可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
(推荐教程:php教程)
while 循环在指定条件为 true 时执行代码块。
在 PHP 中,我们有以下循环语句:
while - 只要指定条件为真,则循环代码块
do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
for - 循环代码块指定次数
foreach - 遍历数组中的每个元素并循环代码块
我们来看一下代码示例:
PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) { 要执行的代码; }
下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例
<?php $x=1; while($x<=5) { echo "这个数字是:$x <br>"; $x++; } ?>
do...while
循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do { 要执行的代码; } while (条件为真);
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:
实例
<?php $x=1; do { echo "这个数字是:$x <br>"; $x++; } while ($x<=5); ?>
热心网友 时间:2022-04-06 08:21
首先 mysql_fetch_array是将结果集中 一行 转换为数组,同时将指针移到下一行。
第一种你直接在循环外面执行后赋值给$rs,这样的话,$rs是一个固定的值:第一行数据,这样你下面的循环是个死循环,并且都是都一条数据。
第二种,你把这个方法作为while循环的条件,那么每次循环的时候它返回的都是下一行的数据,并且当到了最后一张之后循环就结束了,不会陷入死循环。
热心网友 时间:2022-04-06 09:39
写法一:
<?php
……
$rs=mysql_fetch_array($query);
while($rs){
?>
<p><?php echo $rs['content'] ?></p>
<?php } ?>
写法二等价:
<?php
……
$rs=mysql_fetch_array($query);
while($rs){
?>
<p><?php echo $rs['title'] ?></p>
$rs=mysql_fetch_array($query);
<?php } ?>
能看出区别吧
热心网友 时间:2022-04-06 11:14
写法一, $rs=mysql_fetch_array($query)只执行了一次,$rs为非空数组,While死循环
写法二,$rs=mysql_fetch_array($query)在每次While判断时执行,当所有记录行都取完后,mysql_fetch_array返回FALSE,While循环结束
热心网友 时间:2022-04-06 13:05
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。你的$rs得到的是一个数组,while($rs)你判定的是rs是不是false无限循环你的while,得到的都是第一行,至于第二个为什么行我也不知道,不过你第一个用foreach试试看能不能都输出来!
热心网友 时间:2022-04-06 15:13
PHP :while 循环, 只要指定条件为真,则循环代码块!
示例:
<?php热心网友 时间:2022-04-06 17:38
$rs['content'] 与 $rs['title']是不同的。
第一种只查询了一次数据库,循环读的是数组的内容。
第二种写法,每一个循环都需再查询一次数据库。
热心网友 时间:2022-04-06 20:19
$rs=mysql_fetch_array($query);
运行后,数据库记录指针指向下一条记录
fetch每次只能取一条记录
热心网友 时间:2022-04-06 23:17
第二种方法的$rs一直是在变的