章节
问答
课签
笔记
评论
占位
占位

PHP中循环结构之do…while语句的运用优势举例

while和do...while可以根据具体情况选用。假设有一种棋类游戏,首先掷骰子,若不为6,前进骰子的点数的步长;若为6,前进骰子的点数的步长,并可以再掷一次。

任务

我们来模拟一下这个棋类游戏,在右边编辑器中输入三条指令:

1、第6行{前面输入:

while($num==6)

2、第13行输入:

do

3、第16行后面输入:

while($num==6);

如图所示:

从代码的结构和可读性角度,在该例子中使用do...while更合适。

?不会了怎么办

1、检查一下“while”语句写对了没;

2、检查一下“do…while”语句写对了没;

||
1
2
<?php
//while
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 敢走就走路
都可以累计到筛子为6的时候的步数,只是结构上do while更简洁易懂。

最新回答 / qq_慕尼黑3021223
首先,这是定义为一个玩骰子游戏的过程;其次,你每一次投骰子,你的步数是累计的,所以代表总步数的$sum是通过每一次投的点数$num来累计的,所以相加;最后,其实输出的数据分两个,第一个数据,如果$num不等于6,总步数$sum就等于0加上$num的值;如果$num等于6,则总步数$sum等于0+6加第二次$num的值。第二个数据,先直接执行一次,总步数$sum就等于0加上$num的值,这时候再来判定$num的值是否为6,如果$num的值为6,则直接再循环一次,直到$num的值不为6。

最新回答 / 慕粉152532571
循环外第一次随机n得到6判断符合条件进入循环第一次执行也为6,$s已经等于12了,后面就继续循环知道$n不为6的那一次结束,所以按理论说$s可以无限大6n+m(n为循环次数-1,m为1~5之间某个数)

最新回答 / Lsadaharu
代码放上来看一看

最新回答 / SheepShake
丢到6可以再丢一次,第一次6,第二次6,第三次3,6+6+3=15.

已采纳回答 / 慕仰1532923
不干扰,下一段开头重新赋值0给$sum了。我也是初学者,我觉得少定义一个变量可以节省内存,减轻系统压力。

已采纳回答 / 慕运维3430860
这就相当于你给他定了一个无限循环了,类似javascript中的do while循环没有了循环条件,javascript这种情况会造成浏览器崩溃。

已采纳回答 / 慕粉3348155
代码问题,“while($num==6);”注意这句末尾的“;”。这说明了这是一句执行,和下面{...}里的不是一个部分。按你上面这样写,至少rand了两次,也就解释了6的出现,6是两次rand相加的结果。正确的“while(条件){...};”是这样,这样是和你说的一样,不会出现6,你可以再仔细看看原文。

最新回答 / 致敬藤本弘
你的输出是大于6还是小于6?如果是小于6就没有执行。

最新回答 / 慕先生9275552
上面 的变量$sum输出之后结束 12行又定义了变量$sum
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言