此刻,我正在学习与Json的合作,我已经弄清楚了如何在当前空间中显示Name和Craft的数据。 我不知道如何显示人数。
不正确,我收到错误消息
foreach ($json_data['number'] as $key => $value) {
echo $value;
}
也不起作用
foreach($json_data as $key=>$value)
{
echo $key['number'];
}
// Read JSON file
$json = file_get_contents('http://api.open-notify.org/astros.json');
//Decode JSON
$json_data = json_decode($json,true);
HTML
<table>
<tr>
<th>Name</th>
<th>Craft</th>
</tr>
<?php foreach($json_data['people'] as $key=>$value): ?>
<tr>
<td><?php echo $value['name']; ?></td>
<td><?php echo $value['craft']; ?></td>
</tr>
<?php endforeach; ?>
</table>
我想通过使用foreach循环显示空间中的人数
答案 0 :(得分:0)
foreach
用于遍历array
。在您的JSON输出中,number
不会作为数组返回,因此您不需要使用foreach
循环来显示数字。您可以使用以下代码显示数字:
<?php echo $json_data['number']; ?>
答案 1 :(得分:0)
将代码更改为
<?php
// Read JSON file
$json = file_get_contents('http://api.open-notify.org/astros.json');
//Decode JSON
$json_data = json_decode($json,true);
$peopleCount = 0;
?>
<table>
<tr>
<th>Name</th>
<th>Craft</th>
</tr>
<?php foreach($json_data['people'] as $key=>$value):
$peopleCount++;
?>
<tr>
<td><?php echo $value['name']; ?></td>
<td><?php echo $value['craft']; ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php
echo "Total People count: ". $peopleCount;
说明:
$peopleCount
变量保存人数。
首先,它的值为0
。
遍历数组时,$peopleCount
的值将递增1
($peopleCount++;
等于$peopleCount = $peopleCount +1;
)
PS: 您的代码在第8行缺少PHP关闭标记。我已将其修复。