2015-10-09 1 views
-1

Я пытаюсь сделать календарь:дисплей 5 массивы значений в строке

<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 эха?

Спасибо !!! enter image description here

ответ

0

итерацию счетчик является довольно простым метод.

<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> 
0

Попробуйте следующий код,

Вы можете разделить массив в куски особенно СИЗ эс, больше информации об этом здесь 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> 
3

Вы можете использовать модуль для проверки, если он достиг седьмого элемента и конец строки.

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

 Смежные вопросы

  • Нет связанных вопросов^_^