我有foreach
循环,需要在某些步骤后分配坐标。对于此示例$ n + 4(174,178,182,...)。
我知道可以解决多次输入n++
。
$n = 174;
foreach($items as $item){
echo $item . ' coor: ' . $n . '<br>';
$n++;
$n++;
$n++;
$n++;
}
我想知道它是否不能更优雅地解决。
答案 0 :(得分:2)
您可以使用:
$n += 4;
将运算符放在=
之前时,它会创建一个运算符,该运算符使用该运算将目标的原始值与源结合起来,因此等同于:
$n = $n + 4;
类似地,如果您写:
$n *= 10;
与
相同$n = $n * 10;
答案 1 :(得分:0)
@Barmar的解决方案和解释是正确的,可以解决您的问题。但是,您可以使用下面的一种替代方法来编写可能会有所帮助的代码:
$n = 174;
foreach($items as $i => $item){
echo $item . ' coor: ' . $n + $i*4 . '<br>';
}
请注意,这仅在阵列键为数字且递增的情况下才有效。如果不是,则只需将foreach中的$items
更改为array_values($items)
。