如何使用开关PHP在for循环内重复for循环

时间:2018-07-29 16:06:25

标签: php string for-loop switch-statement

我尝试重复$i,如果它达到某个数字。例如$i <= 4,然后再次启动$i,以得到应该在下面的结果。

代码:

$let_a_p = '';

for ($i = 1; $i <= 10; $i++) {
  switch (true) {
    case $i <= 1:
      $let_a_p = 'a'.$i;
      break;
    case $i <= 4:
      $i = 1;
      $let_a_p = 'b'.$i;
      break;
    case $i <= 8:
      $i = 1;
      $let_a_p = 'c'.$i;
      break;
  }
  echo $let_a_p;
}

结果应为:

a1
a2
a3
c1
c2
c3
c4
d1
d2
d3

(共10个)

2 个答案:

答案 0 :(得分:3)

问题在于您一直在重置$i,这正在控制循环。相反,您可以调整显示的数字。我也稍微调整了开关条件,以简化操作...

for ($i = 1; $i <= 10; $i++) {
    switch (true) {
        case $i < 4:
            $let_a_p = 'a'.$i;
            break;
        case $i < 8:
//             $i = 1;
            $let_a_p = 'b'.($i-3);
            break;
//         case $i <= 8:
//             $i = 1;
        default:
            $let_a_p = 'c'.($i-7);
            break;
    }
    echo $let_a_p;
}

答案 1 :(得分:1)

嵌套循环是另一种不太容易出错的方法:

f''(x_m)=0

这是更通用的,并且遵循MVC概念。