虽然loop
为0 1 2 3 4 5 0 1 2 3 ...但有两个方向,例如从4号转发4 5 0 1 2 3 ...和向后4 3 2 1 0 5 ....用于检测转发或向后的if算法如何看起来如果值类似于实际2接下来3或实际5接下来0。
我正在寻找一个简单的,如果要检查
if (actual > next && ?jump from last/first?) {
forwarding
} else {
backward
}
任何想法如何向前或向后检测?
答案 0 :(得分:0)
这是一种方法:
$forward = ($actual < $next);
if (abs($actual-$next) != 1) $forward = !$forward;
如果实际小于 next ,则开始假设它是向前的。然后检查实际和 next 之间的区别 - 如果它不是一个,那么你就在边界上,所以结果与你期望的结果相反。