【发布时间】:2016-05-30 17:54:56
【问题描述】:
作为 php 的完整“菜鸟”,我正在尝试从具有嵌套数组的 json 文件中读取数据。这是我迄今为止能够实现的目标。 json:
{
"activites": [
{
"nom": "Observation des oiseaux",
"image": "http://cdn2.gossipcenter.com/sites/default/files/imagecache/story_header/photos/tom-cruise-020514sp.jpg",
"description": "Sed id eros nec orci elementum auctor at vitae tortor. Pellentesque eget nibh sed justo consequat suscipit. Nunc augue sem, porta non molestie sed, volutpat quis orci. Curabitur in erat eu nibh fermentum volutpat vitae ut nisi. Nullam vitae euismod mauris. Suspendisse pretium facilisis gravida. Duis magna arcu, pharetra in sapien eu, ornare vehicula arcu.",
"parcs": [
{
"nom": "Nom du parc 1",
"url": "url-du-parc-1.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
},
{
"nom": "Nom du parc 2",
"url": "url-du-parc-2.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
},
{
"nom": "Nom du parc 3",
"url": "url-du-parc-3.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
},
{
"nom": "Nom du parc 4",
"url": "url-du-parc-3.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
}
]
},
{
"nom": "Pétanque",
"image": "http://cdn2.gossipcenter.com/sites/default/files/imagecache/story_header/photos/tom-cruise-020514sp.jpg",
"description": "Sed id eros nec orci elementum auctor at vitae tortor. Pellentesque eget nibh sed justo consequat suscipit. Nunc augue sem, porta non molestie sed, volutpat quis orci. Curabitur in erat eu nibh fermentum volutpat vitae ut nisi. Nullam vitae euismod mauris. Suspendisse pretium facilisis gravida. Duis magna arcu, pharetra in sapien eu, ornare vehicula arcu.",
"parcs": [
{
"nom": "Nom du parc 1 pour deuxième activité",
"url": "url-du-parc-1.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
},
{
"nom": "Nom du parc 2 pour deuxième activité",
"url": "url-du-parc-2.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
}
]
},
{
"nom": "Nom de l'activité 3",
"image": "http://cdn2.gossipcenter.com/sites/default/files/imagecache/story_header/photos/tom-cruise-020514sp.jpg",
"description": "Sed id eros nec orci elementum auctor at vitae tortor. Pellentesque eget nibh sed justo consequat suscipit. Nunc augue sem, porta non molestie sed, volutpat quis orci. Curabitur in erat eu nibh fermentum volutpat vitae ut nisi. Nullam vitae euismod mauris. Suspendisse pretium facilisis gravida. Duis magna arcu, pharetra in sapien eu, ornare vehicula arcu.",
"parcs": [
{
"nom": "Nom du parc 1 pour troisième activité",
"url": "url-du-parc-1.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
},
{
"nom": "Nom du parc 2 pour troisième activité",
"url": "url-du-parc-2.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
},
{
"nom": "Nom du parc 3 pour troisième activité",
"url": "url-du-parc-2.html",
"location":
{
"latitude": "44.7789990",
"longitude": "67.9988990"
}
}
]
}
]
}
和 php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<title></title>
<link href="assets/css/styles.css" rel="stylesheet">
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="assets/css/ie.css" />
<![endif]-->
</head>
<body>
<?php
$json_url = "./assets/js/activites.json";
$json = file_get_contents($json_url);
$stuff = json_decode($json, true);
?>
<div class="toto">
<?php
foreach($stuff['activites'] as $obj){
?>
<h2>
<?php echo $obj['nom'] ?></h2>
<a href="<?php echo $obj['parcs']['0']['url'] ?>
">
<span>
<?php echo $obj['parcs']['0']['nom'] ?></span>
</a>
<?php
}
?></div>
</body>
</html>
使用此代码,我可以正确显示<H2> 和<span> 中的数据,但每个“url”都是相同的......获得它的正确方法是什么?
非常感谢 - 这可能很明显,但非常感谢任何帮助!
【问题讨论】: