本文讲解如何使用 php 的 while 或 for 循环,按“每行 3 个、4 个交替”的模式(即第1行3个数字、第2行4个、第3行3个、第4行4个……)格式化输出连续整数,重点解析模运算(%)与行尾换行逻辑的配合。
要实现目标输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
关键在于:行长度周期性变化(3 → 4 → 3 → 4…),而非简单按固定列数换行。原代码中 while($i=1
✅ 正确思路是:
- 利用 模 7 运算($i % 7)识别循环周期——因为 3+4=7,每 7 个数构成一个完整“3+4”单元;
- 在每个周期内,前 3 个数(余数为 1, 2, 3)后不换行,第 4 个数(余数为 4)开始进入“4 列区”,直到该周期末(余数为 0)才换行;
- 更直观的判断方式是:当 $i % 7 == 0(如 7, 14)或 $i % 7 == 3(如 3, 10)时,当前数字应为该行最后一个,需输出
换行。
以下为推荐实现(兼容 while / for,含清晰注释):