php中关于while循环的条件

发布网友 发布时间: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
    $i=8;
    while($i<10){
    echo $i;
    echo "<br/>";
    $i--;
    }
    ?>

    热心网友 时间: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一直是在变的

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com