Распечатать таблицу результатов на каждый день года - PullRequest
2 голосов
/ 23 июня 2011

У меня есть массив, который выглядит следующим образом.

Array (
    [1] => Array (
            [1] => Array ([0] => 12)
            [2] => Array ([0] => 23)
             # up to 12.
     # up to 31.

Он работает от массива 1 до 31 (для каждого возможного дня месяца), затем внутри этого массива 1-12 (который является каждым месяцем).

Мне нужно создать таблицу HTML, которая выглядит следующим образом:

Date          January February and so on... to December
2011-01-01    12      23

Итак, даты в первом столбце и верхней строке - месяцы.

Как лучше всего создать эту таблицу? Помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 23 июня 2011

Лучший способ - преобразовать массив в новый массив, содержащий все даты (строки), и для каждой строки он содержит другой массив, который состоит из всех месяцев (столбцов).

Этот формат намного проще для отображения.

Exmaple:

Array (
    [1] => Array (
            [1] => Array ([0] => 12)
            [2] => Array ([0] => 23)
             # up to 12.
     # up to 31.

Упс, не нужно его конвертировать! Давайте дадим этому массиву имя: $dates:

<code>echo '<pre>';
foreach($dates as $rowIndex => $row) {
  printf('Row header (%2d):', $rowIndex);
  foreach($row as $col) {
      printf('%-10s', $col);
  }
  printf("<br>\n")
}
echo '
';

Я оставляю добавление заголовков к вам.

0 голосов
/ 23 июня 2011

Предполагая, что ваш массив называется $data:

<table>
  <thead>
    <th>Date</th>
    <th>January</th>
    <th>February</th>
    <th>March</th>
    <th>April</th>
    <th>May</th>
    <th>June</th>
    <th>July</th>
    <th>August</th>
    <th>September</th>
    <th>October</th>
    <th>November</th>
    <th>December</th>
  </thead>
  <tbody>
    <?php foreach ( $data as $key => $value ): ?>
      <tr>
        <th><?php echo date('Y-m-d', mktime(0, 0, 0, (int)date('m'), (int)$key)); ?></th>
        <?php for ( $i = 1; $i <= 12; $i++ ): ?>
          <td><?php echo ! empty($value[$i][0]) ? $value[$i][0] : '&nbsp;'; ?></td>
        <?php endfor; ?>
      </tr>
    <?php endforeach; ?>
  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...