我正在制作一个网站,显示州的列表,然后是该州每个国家公园的子列表。我目前能够显示状态,并显示正确数量的子列表元素(每个州的相应公园数量显示正确的项目符号数),但我无法获取公园名称和网址工作。我几周前在Javascript中做过这个,但现在我需要它在php中。
以下是我的数组样本:
{
"stateParks": [
{"state": "Alabama", "parks": []},
{"state": "Alaska", "parks": [{"parkName":"Denali", "url":"https://www.nps.gov/dena/index.htm"},{"parkName":"Glacier Bay", "url":"https://www.nps.gov/glba/index.htm"}]},
这是我目前的php:
<?php
$jsonData = file_get_contents("../data/stateParks.json");
$jsonDecoded = json_decode($jsonData, true);
$output = '<ul class="stateParks">';
foreach($jsonDecoded['stateParks'] as $statePark)
{
$counter = 0;
$output .= '<li class="superlist">'.$statePark['state'].'<ul>';
foreach($statePark['parks'] as $parks)
{
$output .= '<li class="sublist"><a href="'.$parks[$counter]['url'].'">'.$parks[$counter]['parkName'].'</a></li>';
$counter++;
}
$output .= '</ul></li>';
}
$output .= '</ul>';
echo $output;
?>
这是一项任务,所以如果你没有告诉我直接答案,我将不胜感激,因为我想确保我明白错误,我不喜欢作弊。但是非常感谢任何指针,提示和提示。
答案 0 :(得分:0)
你只需要删除$ counter
use $parks['url'] instead $parks[$counter]['url']
和
use $parks['parkName'] instead $parks[$counter]['parkName']