首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现循环逻辑

问如何实现循环逻辑
EN

Stack Overflow用户
提问于 2013-07-03 14:12:56
回答 2查看 146关注 0票数 0

是否有一个简单的逻辑来实现for循环,取决于分隔符?

代码语言:javascript
复制
if $a>b for($i=a; $i>b; $i--)
else for($i=a; $i<b; $i++)

但我需要它在一个循环中完成,我不能做这样的事情

代码语言:javascript
复制
$start = $a<$b? $a : $b;

因为我需要循环总是从$a开始,然后到$b,也许还有其他方法,我有理由否决吗?在我的问题中不清楚的是,人们如果你不理解问题,请不要触摸它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-03 14:17:26

希望这能有所帮助

代码语言:javascript
复制
$inc = $a < $b ? 1: -1;
for ($i = $a; $i != $b; $i += $inc) {
    /* some code here */
}

解释:

第一步是估计增量,这意味着是增加还是减少$a以达到$b。

显然,如果$a < $b,则需要递增,否则将递减。$i += $inc是添加+1或-1的通用语句。加+1表示递增,加-1表示递减。

最终,循环退出条件是$i != $b,希望这个条件在增量/减量中至少满足一次。

票数 10
EN

Stack Overflow用户

发布于 2013-07-03 14:35:43

你的问题包含一些逻辑错误。尽管语法是正确的。

代码语言:javascript
复制
if $a<b for($i=a; $i>b; $i--)

这里,$a比b小,在for循环中,你给出的条件$i>b永远不会满足,因为$i和$a已经比b小了。所以,这个循环一次也不会运行。这对于else也是一样的,因为here也不会执行一次循环。

这就是你想要的..?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17440888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档