PHP-foreach增量超过1

时间:2018-10-26 01:26:12

标签: php foreach increment

我有foreach循环,需要在某些步骤后分配坐标。对于此示例$ n + 4(174,178,182,...)。 我知道可以解决多次输入n++

$n = 174;
foreach($items as $item){
    echo $item . ' coor: ' . $n . '<br>';
    $n++;
    $n++;
    $n++;
    $n++;
}

我想知道它是否不能更优雅地解决。

2 个答案:

答案 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)