我正在寻找一种在foreach循环中循环/替代2值的最快(性能)方法。与聪明的作品完全相同:http://www.smarty.net/docsv2/en/language.function.cycle
答案 0 :(得分:1)
使用模运算符可以轻松进行循环。
$cycle = $iteration % $cycles;
例如,如果$cycles
2 ,则$cycle
将包含 0 和 1 ,其中{ {1}}增加。
然后,如果您需要这些周期的特定值,请使用查找表:
$iteration
$lookup = array('value1', 'value2');
$value = $lookup[$cycle];
循环不会跟踪迭代;您想要使用foreach
循环代替。或者自己增加一个迭代变量。
答案 1 :(得分:0)
$cycle = array('value1', 'value2');
$i = 0;
foreach (...) {
$cycle[$i] // current cycle value
...
$i = 1 - $i; // here be cycling
}
P.S。在这种情况下,不要认为你应该非常关注表现。