【问题标题】:display 5 arrays values per row每行显示 5 个数组值
【发布时间】:2015-10-09 15:24:12
【问题描述】:

我正在尝试制作日历:

<table border="1">
       <tr><th colspan="7"><?php echo $current_month ?></th></tr>
        <tr>
         <?php foreach ($days as $day) {
            echo "<th>" . $day . "</th>";
         } ?>           
        </tr>
    <tr>
    <?php  
      foreach($keys as $row => $value) {
         echo "<td>" . $value . "</td>";
      }
    ?>
    </tr>
  </table>

如何每行回显 7 个值?正如您在图像中看到的,它在同一行中显示所有日期。 (当然,因为我把它放在同一个中,但是,我怎样才能让它每 7 个回显值开始一个新的呢?

谢谢!!!

【问题讨论】:

    标签: php function switch-statement


    【解决方案1】:

    您可以使用模数来检查它是否已经到达第七个元素并结束行。

    <?php  
      foreach($keys as $row => $value) {
         if ($value % 7 == 0) {
            echo "<td>" . $value . "</td></tr><tr>";
         } else {
            echo "<td>" . $value . "</td>";
         }
      }
    ?>
    

    【讨论】:

      【解决方案2】:

      迭代计数器是一种非常简单的方法。

      <table border="1">
             <tr><th colspan="7"><?php echo $current_month ?></th></tr>
              <tr>
               <?php foreach ($days as $day) {
                  echo "<th>" . $day . "</th>";
               } ?>           
              </tr>
          <tr>
          <?php
            $i = 0;   // Begin at 0 days written
            foreach($keys as $row => $value) {
                if ($i == 7){
                   // Create new table row after every 7th iteration
                   print "</tr><tr>";   // Add \n or \t for output formatting
                   $i = 0;
                }             
      
                echo "<td>" . $value . "</td>";
      
                $i++;   // Increment $i each iteration
            }
          ?>
          </tr>
        </table>
      

      【讨论】:

        【解决方案3】:

        试试下面的代码,

        您可以将数组拆分成特定大小的,从这里查看更多信息array chunk

        <?php
        $current_month = 'Oct';
        $days = array('1',2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);
        $chunk = array_chunk($days,7);
        ?>
        <table border="1">
            <tr>
                <th colspan="7"> <?php
        echo $current_month; ?>
                </th>
            </tr>
            <?php
        foreach($chunk as $day) {
            echo '<tr>';
            foreach($day as $key) {
                echo "<th>" . $key . "</th>";
            }
            echo '</tr>';
        } ?>
        </table>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-09-12
          • 1970-01-01
          • 2017-09-12
          • 2021-08-12
          • 1970-01-01
          • 2011-01-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多