【问题标题】:For Loop Table in PHPPHP 中的 For 循环表
【发布时间】:2014-05-12 07:38:31
【问题描述】:

我正在尝试使用 php for 循环生成一个表,其中列出了数字。像这样的:

1 | 2 | 3 | 4 | 5
2 | 3 | 4 | 5 | 1
3 | 4 | 5 | 1 | 2
4 | 5 | 1 | 2 | 3
5 | 1 | 2 | 3 | 4

我仍然有问题,这实际上很简单,但我一直无法解决它。到目前为止,我有以下代码:

<?php
echo "<table border='1'><br />";

for ($row = 0; $row < 5; $row ++) {
   echo "<tr>";

   for ($col = 1; $col <= 4; $col ++) {
        echo "<td>", ($col + ($row * 4)), "</td>";
   }

   echo "</tr>";
}

echo "</table>";
?>

但是,这只会生成以下内容:

1  | 2  | 3  | 4 
5  | 6  | 7  | 8
9  | 10 | 11 | 12
13 | 14 | 15 | 16
17 | 18 | 19 | 20

谢谢你,任何帮助将不胜感激!

【问题讨论】:

  • 这应该会给你一个想法$a = array(1,2,3,4,5); array_unshift($a, array_pop($a));
  • 这在数据结构中被称为“队列”。阅读此phpmoot.com/other-sorting-options
  • 不是队列...对我来说闻起来像模运算。

标签: php


【解决方案1】:
<?php
echo "<table border='1'><br />";

for ($row = 0; $row < 5; $row ++) {
   echo "<tr>";

   for ($col = 0; $col < 5; $col ++) {
        echo "<td>", (($col + $row) % 5) + 1, "</td>";
   }

   echo "</tr>";
}

echo "</table>";
?>

【讨论】:

    【解决方案2】:
    echo "<table border='1'><br />";
    for ( $i = 0; $i < 5; $i++ ) {
        echo "<tr>";
        for ( $j = 0; $j < 5; $j++ ) {
            echo "<td>", ($j+$i)%5+1, "</td>";
        }
        echo "</tr>";
    }
    echo "</table>";
    

    【讨论】:

      【解决方案3】:

      我的版本:

      <?php
      echo "<table border='1'><br />";
      $i=1;
      for ($row = 0; $row < 5; $row ++) {
        echo "<tr>";
        $cont = 0;
      for ($col = $i; $col <= 5; $col ++) 
          {
           echo "<td>", ($col), "</td>";
           $cont++;
          }
      if($cont < 5)
      {
       for($col = 1; $col <= 5 - $cont; $col++)
       {
        echo "<td>", ($col), "</td>";
       }
       }
      
      echo "</tr>";
      $i++;
      }
      
      echo "</table>";
      

      键盘:http://codepad.viper-7.com/JZogNY

      【讨论】:

        【解决方案4】:

        我的版本

        <?php
        echo "<table border='1'><br />";
        
        for ($row = 0; $row < 5; $row ++) {
           $k=$row;
        
           for ($col = 0; $col < 5; $col ++) {
                echo "<td>", (($k++)%5)+1, "</td>";
           }
        
           echo "</tr>";
        }
        
        echo "</table>";
        ?>
        

        【讨论】:

          【解决方案5】:
          <?php
          
              echo '<table border="1">';
              $i = 0;
              for($i =1; $i<=5; $i++){
                  echo '<tr>
                      <td>'.$i.'</td>';
                      $x = 0;
                      for($x=1; $x<=4; $x++){
                          $y = $x + $i;
                          $z = ($y>5) ? $y-5 : $y;
                          echo '<td>'.$z.'</td>';
                      }
                  echo '</tr>';
              }
          
              echo '</table>';
          ?>
          

          【讨论】:

          • 考虑添加解释而不是添加代码。
          猜你喜欢
          • 1970-01-01
          • 2019-03-12
          • 2015-01-28
          • 2013-06-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-11
          • 2011-10-18
          相关资源
          最近更新 更多