我在从以下数组创建表时遇到问题:
http://pastebin.com/DXFjfhHJ
我从这个开始:
<table style="width: 100%; text-align: center;">
<tr>
<td>Time</td>
<td>Aktivitet</td>
<td>Duration</td>
<td>Metabolisation</td>
</tr>
然后我做了:
foreach{$training as $time => $metabolisation}{
?>
<tr style="text-align: left;">
<td><?php echo $time; ?></td>
<td>Activity name</td>
<td>Duration</td>
<td><?php echo $metabolisation; ?></td>
</tr>
<?php
}
这几乎有效。。它显示正确的$time(03:00等(,但在$metabolization中没有显示任何内容。我不知道如何调用Activity,它应该是数组的"name"变量。与持续时间相同,应该是数组的"持续时间">
我该怎么做?
你在pastebin中使用的结构与foreach不兼容。你真的需要像这样在数组结构中看得更深。
<?php foreach( $training as $time => $data ): ?>
<tr style="text-align: left;">
<td><?php echo $time; ?></td>
<td>Total <?php echo $data['entries'][0]['name']; ?></td>
<td>Duration <?php echo $data['entries'][0]['duration']; ?></td>
<td><?php echo $data['entries'][0]['metabolisation']; ?></td>
</tr>
<?php endforeach; ?>
foreach($training as $time => $metabolisation){
foreach($metabolisation['entries'] as $entry) {
?>
<tr style="text-align: left;">
<td><?php echo $time; ?></td>
<td><?php echo $entry['name']; ?></td>
<td><?php echo $entry['duartion']; ?></td>
<td><?php echo $entry['metabolisation']; ?></td>
</tr>
<?php
}
}
?>
它可能没有以适当的形式输出数据,但你已经知道如何访问它了