在 PHP 中格式化数组


Format Array in PHP

>我有一个以下格式的数组。

time_range:6 [▼
  "limit_by" => array:1 [▼
    0 => "Day",
    1 => "Date"
  ]
  "day" => array:1 [▼
    0 => "mon",
    1 => ""
  ]
  "date" => array:1 [▼
    0 => "",
    1 => "2015-03-14"
  ]
  "from_time" => array:1 [▼
    0 => "07:00:00",
    1 => "10:30:00"
  ]
  "to_time" => array:1 [▼
    0 => "20:00:00",
    1 => "16:30:00"
  ]
  "max_covers_limit" => array:1 [▼
    0 => "5",
    1 => "3"
  ]
]

如何在PHP中格式化上述数组,以便我可以显示类似于以下格式的表格:

限制依据 |星期或日期 |来自时间 |到时间 |最大限制

日 | 周一 | 07:00:00 |20:00:00 | 5

日期 | 2015-03-14 | 10:30:00 |16:30:00 | 3

请给我一个方法。这是我尝试过的:

foreach($time_range as $time_range)
{
$block_time_range['limit_by'] = $time_range['limit_by'];
$block_time_range['day'] = $time_range['day'];
$block_time_range['date'] = $time_range['date'];
$block_time_range['from_time'] = $time_range['from_time'];
$block_time_range['to_time'] = $time_range['to_time'];
$block_time_range['max_covers'] = $time_range['max_covers'];
}

可以使用以下代码执行此操作。

<?php
$keys = array_keys($time_range);
// count the number of rows based on the first column
$rows = count($time_range[key($time_range)]);
echo '<table><thead><tr>';
// show header
foreach($keys as $key) {
  echo '<th>'.$key.'</th>';
}
echo '</tr></thead><tbody>';
// for every row
for($i = 0; $i < $rows; ++$i) {
  echo '<tr>';
  // for every column
  foreach($time_range as $column) {
    echo '<td>'.$column[$i].'</td>';
  }
  echo '</tr>';  
}
echo '</tbody></table>';
?>