while($num<=5)条件一样的时候结果为什么是一样的

来源:6-9 PHP中循环结构之while与do…while语句的区别

lhayley2014

2014-11-28 11:12

<?php

    //A例子

$num = 2;

$sum  = 10; 

while($num<=5){

$sum = $sum  + 10;

        $num =$num +1;

}

echo "A例子的结果:".$sum."<br />";

//B例子

$num = 2;

$sum  = 10;

do{

$sum = $sum  + 10;

        $num =$num +1;

}while($num<=5);

echo "B例子的结果:".$sum."<br />";

?>

这个结果是

A例子的结果:50
B例子的结果:50

为什么结果一样?难道只要考虑第一次的执行?

写回答 关注

3回答

  • 庄稼
    2015-08-29 17:38:28

    循环里面有自加1,所以,A是从2开始判断,而B是从3开始判断的。

    当$num=5的时候,while就已经不执行了,而do...while继续执行一次,

    总的来说执行的次数是一样的

  • lhayley2014
    2014-11-28 14:12:48

    哦,我懂了。我以为do...while至少执行一次的意思是会比while{}多执行一次

    塞纳河北岸 回复crazyd...

    执行一下: <?php //B例子 $num = 2; $sum = 10; do{ $sum = $sum + 10; $num = $num+1; echo $sum ."num等于".$num."<br>"; }while($num<=5); echo "B例子的结果:".$sum."<br />"; ?>

    2015-02-06 20:07:11

    共 2 条回复 >

  • 偌颜宁
    2014-11-28 13:40:51

    难道不是一样的结果吗?在A例子结束后,你又重新定义变量sum和num,算然是用的do...while循环,但是运行结果是和上面一样的


    crazyd...

    请问为什么改成while($num<5)结果还是一样啊? 当$num=5的时候,while就已经不执行了,而do...while不是还应该再执行一次吗?

    2014-12-25 16:46:19

    共 1 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

455994 学习 · 6306 问题

查看课程

相似问题