如何实现循环逻辑

ccd*_*229 0 php logic

是否有一个简单的逻辑来实现循环,在deimeter上进行修改?

if $a>b for($i=a; $i>b; $i--)
else for($i=a; $i<b; $i++)
Run Code Online (Sandbox Code Playgroud)

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

$start = $a<$b? $a : $b;
Run Code Online (Sandbox Code Playgroud)

因为我需要循环始终开始$a并走向$b,也许有另一种方式?我有理由进行downvoting吗?在我的问题中不清楚的是,人们如果你不理解问题就不要碰它.

Sak*_*mar 10

希望这可以帮助

$inc = $a < $b ? 1: -1;
for ($i = $a; $i != $b; $i += $inc) {
    /* some code here */
}
Run Code Online (Sandbox Code Playgroud)

说明:

第一步是估计增量,即增加或减少$ a到达$ b.

显然,如果$ a <$ b则需要增量或减少.$ i + = $ inc是添加+1或-1的通用语句.添加+1是递增,加-1是递减.

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

  • 很棒的答案,但有点神秘,一个解释会带来更多的奇迹 (2认同)