PHP循环技术疑问:第二个循环能否沿用首个循环增量?如何实现指定范围?
解答:复用第一个循环的增量值实现连续迭代
当然可以啦!在PHP中,只要两个循环处于同一个作用域(比如都在全局上下文或者同一个函数内部),第一个循环结束后变量$i的最终值会被保留,你完全可以直接复用它来启动第二个循环,不用重新初始化。
原代码分析
你的第一个循环:
for ($i = 1 ; $i <= 4 ; $i++) { echo $i . "<br>"; }
当这个循环终止时,$i的实际值是5——因为最后一次执行$i++后,$i变成5,不再满足$i <=4的条件,循环才会停止。
修改后的代码(复用$i值)
你只需要调整第二个循环的初始化部分,直接沿用之前的$i即可:
<?php for ($i = 1 ; $i <= 4 ; $i++) { echo $i . "<br>"; } ?> <hr> <?php // 省略初始化部分,直接使用之前的$i值(此时$i=5) for (; $i <= 6 ; $i++) { echo $i . "<br>"; } ?>
这段代码会依次输出:1、2、3、4、5、6,完全符合你“第一个循环1-4,第二个循环5-6”的需求。
额外说明
如果担心后续代码中$i的取值会带来问题,你也可以手动给第二个循环的$i赋值为5,效果是一样的:
for ($i = 5 ; $i <= 6 ; $i++) { echo $i . "<br>"; }
不过复用第一个循环的$i值会更简洁,也更符合“连续迭代”的逻辑。
内容的提问来源于stack exchange,提问作者Aris
相关产品推荐
相关产品推荐

