如何实现循环逻辑

时间:2013-07-03 06:12:56

标签: php logic

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

if $a>b for($i=a; $i>b; $i--)
else for($i=a; $i<b; $i++)

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

这样的事情
$start = $a<$b? $a : $b;

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

2 个答案:

答案 0 :(得分:10)

希望这有帮助

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

说明:

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

显然,如果$ a&lt; $ b然后需要增量或减少。 $ i + = $ inc是添加+1或-1的通用语句。添加+1是递增,加-1是递减。

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

答案 1 :(得分:0)

您的问题包含一些逻辑错误。虽然语法是正确的。

if $a<b for($i=a; $i>b; $i--)

此处,$a小于b,在for循环中,您提供的条件$i>b永远不会满足,因为$i$a已经小于b。因此,即使一次也不会运行此循环。这对于else也是一样的,因为这里循环也不会一次执行。

你想要的吗??

相关问题