
PHP解析并输出JSON多层嵌套数据
处理JSON多层嵌套数据并提取特定信息,需要巧妙地运用PHP的数组操作功能。以下示例演示如何高效地完成此任务:
示例JSON数据:
<code class="json">[
{
"school": "A校",
"grade": "一年级",
"class": "一班",
"students": [
"男#25",
"女#29"
]
},
{
"school": "A校",
"grade": "一年级",
"class": "二班",
"students": [
"男#30",
"女#22"
]
}
]</code>目标HTML输出结构:
立即学习“PHP免费学习笔记(深入)”;
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30
<code class="html"><h1>学校</h1><h2>年级</h2><h3>班级</h3>
<div>
<ul>
<li>性别:人数</li>
<li>性别:人数</li>
</ul>
</div></code>PHP代码实现:
<code class="php">$jsonData = '[
{
"school": "A校",
"grade": "一年级",
"class": "一班",
"students": [
"男#25",
"女#29"
]
},
{
"school": "A校",
"grade": "一年级",
"class": "二班",
"students": [
"男#30",
"女#22"
]
}
]';
$jsonArray = json_decode($jsonData, true);
foreach ($jsonArray as $schoolData) {
echo "<h1>" . $schoolData['school'] . " " . $schoolData['grade'] . " " . $schoolData['class'] . "</h1>";
echo "<div><ul>";
foreach ($schoolData['students'] as $studentData) {
list($gender, $count) = explode('#', $studentData);
echo "<li>" . $gender . ":" . $count . "</li>";
}
echo "</ul></div>";
}</code>代码解释:
json_decode($jsonData, true): 将JSON字符串解码为关联数组。true参数确保返回关联数组,而不是对象。foreach循环迭代学校数据。explode('#', $studentData): 使用#作为分隔符,将学生数据分割成性别和人数。list($gender, $count): 将explode的结果赋值给$gender和$count变量。foreach循环迭代每个学校的学生数据,并输出HTML。这段代码清晰地展示了如何使用PHP高效地处理JSON多层嵌套数据,并根据需求生成HTML输出。 它避免了不必要的嵌套循环,提高了代码的可读性和效率。
以上就是PHP如何高效处理JSON多层嵌套数据并循环输出特定信息?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号