【问题标题】:PHP loop X amount of timesPHP循环X次
【发布时间】:2013-02-03 11:40:07
【问题描述】:

我有一个名为$columns 的字符串,它动态地获取一个从1 到7 的值。我想创建一个<td></td> 的循环,不管$columns 的值是多少倍。知道我该怎么做吗?

【问题讨论】:

    标签: php loops


    【解决方案1】:
    for ($k = 0 ; $k < $columns; $k++){ echo '<td></td>'; }
    

    【讨论】:

    • 我在循环数量设置为 2 的情况下使用它,但它偶尔会返回 1 而不是 2。有没有更好的方法来限制循环?我不希望它偶尔循环一次。它必须始终循环两次。 (仅供参考,我已经尝试过不同数量的循环,但它仍然偶尔会循环预期循环量的 -1)。
    【解决方案2】:

    这是实现此目的的更易读的方法:

    foreach(range(1,$columns) as $index) {
       //do your magic here
    }
    

    【讨论】:

    【解决方案3】:

    如果只需要使用重复次数:

    for ($i = 0; $i < 5; $i++){
        // code to repeat here
    }
    

    【讨论】:

      【解决方案4】:

      我喜欢这种方式:

      while( $i++ < $columns ) echo $i;
      

      请记住,如果 $columns 为 5,这将运行 5 次(不是 4 次)。

      编辑:这里$i 的初始状态似乎有些混乱。如果您愿意,欢迎您提前初始化$i=0。但是这不是必需的,因为 PHP 是一个非常有用的引擎,并且会自动为您执行此操作(如果您碰巧启用了这些,它会发出通知)。

      【讨论】:

      • 您需要将 $i 初始化为零,例如$i = 0;,所以上面多了一行
      • 我承认在尝试您发布的确切代码之前发布了评论。反正我试了一下,报错了
      • 你的意思是通知?
      • 是的,请注意,抱歉不够精确:D
      【解决方案5】:

      如果$columnsstring,您可以转换为int 并使用简单的for 循环

      for ($i=1; $i<(int)$columns; $i++) {
         echo '<td></td>';
      }
      

      【讨论】:

        【解决方案6】:

        PHP 中有一个str_repeat() 函数,它可以多次重复一个字符串。您的问题的解决方案是: str_repeat( '&lt;td&gt;&lt;/td&gt;', $columns );

        【讨论】:

          【解决方案7】:

          for loop 可以工作:

          for ($i = 0; $i < $columns; $i++) {
              ...
          }
          

          【讨论】:

            【解决方案8】:

            只是重复 $n 次? ...如果不介意 $n 倒退... 优点是您可以在开头看到/配置“次”

            $n = 5;
            while (--$n >= 0)
            {
              // do something, remember that $n goes backwards;
            }
            

            【讨论】:

              【解决方案9】:

              您可以通过 for 循环轻松运行它来实现此目的

              $myData = array('val1', 'val2', ...);
              
              for( $i = 0; $i < intval($columns); $i++)
              {
                  echo "<td>" . $myData[$i] . "</td>";
              }
              

              【讨论】:

                【解决方案10】:

                为什么要使用逻辑,不要浪费那些 CPU 周期!

                <td colspan="<?php echo $columns; ?>"></td>
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-04-28
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-08-16
                  • 2015-12-10
                  • 2013-03-01
                  相关资源
                  最近更新 更多