PHP - foreach 增量大于 1
PHP - foreach increment more than 1
我有 foreach
循环,我需要在其中指定特定步骤后的坐标。对于此示例 $n+4 (174,178,182,...)。
我知道解决多重输入 n++
.
$n = 174;
foreach($items as $item){
echo $item . ' coor: ' . $n . '<br>';
$n++;
$n++;
$n++;
$n++;
}
不知道能不能更优雅的解决一下
您可以使用:
$n += 4;
当您在 =
之前放置一个运算符时,它会创建一个运算符,该运算符使用该运算将目标的原始值与源值组合在一起,因此相当于:
$n = $n + 4;
同样,如果你写:
$n *= 10;
与
相同
$n = $n * 10;
@Barmar 的解决方案和解释是正确的,解决了你的问题。但这里有另一种编写代码的方法,您可能会发现它有帮助:
$n = 174;
foreach($items as $i => $item){
echo $item . ' coor: ' . $n + $i*4 . '<br>';
}
请注意,这仅在您的数组键是数字且递增时才有效。如果不是,那么您只需要将 foreach 中的 $items
更改为 array_values($items)
.
我有 foreach
循环,我需要在其中指定特定步骤后的坐标。对于此示例 $n+4 (174,178,182,...)。
我知道解决多重输入 n++
.
$n = 174;
foreach($items as $item){
echo $item . ' coor: ' . $n . '<br>';
$n++;
$n++;
$n++;
$n++;
}
不知道能不能更优雅的解决一下
您可以使用:
$n += 4;
当您在 =
之前放置一个运算符时,它会创建一个运算符,该运算符使用该运算将目标的原始值与源值组合在一起,因此相当于:
$n = $n + 4;
同样,如果你写:
$n *= 10;
与
相同$n = $n * 10;
@Barmar 的解决方案和解释是正确的,解决了你的问题。但这里有另一种编写代码的方法,您可能会发现它有帮助:
$n = 174;
foreach($items as $i => $item){
echo $item . ' coor: ' . $n + $i*4 . '<br>';
}
请注意,这仅在您的数组键是数字且递增时才有效。如果不是,那么您只需要将 foreach 中的 $items
更改为 array_values($items)
.