PHP多层嵌套JSON数据输出:如何正确解析性别和人数信息?

php多层嵌套json数据输出:如何正确解析性别和人数信息?

PHP多层嵌套JSON数据解析优化

本文探讨如何有效解析PHP中多层嵌套的JSON数据,特别是针对性别和人数信息的提取。原始代码存在键值匹配错误,导致数据解析失败。以下提供改进后的代码和详细解释。

问题根源在于原始代码使用了错误的JSON键名,导致无法正确访问性别和人数信息。

改进后的代码:

立即学习PHP免费学习笔记(深入)”;

<?php
$jsonData = '[
    {
        "school": "a校",
        "grade": "一年级",
        "class": "一班",
        "numbers": [
            "男#25",
            "女#29"
        ]
    },
    {
        "school": "a校",
        "grade": "一年级",
        "class": "二班",
        "numbers": [
            "男#30",
            "女#22"
        ]
    }
]';

$data = json_decode($jsonData, true);

foreach ($data as $item) {
    echo "{$item['grade']}<br /><h1>{$item['school']} {$item['class']}</h1>";
    foreach ($item['numbers'] as $number) {
        list($gender, $count) = explode('#', $number);
        echo "{$gender}:{$count}<br />";
    }
    echo "<br /><br />";
}
?>
登录后复制

代码改进说明:

  1. 更清晰的键名: 将JSON键名修改为更具描述性的名称,例如将”g”改为”grade”,”c”改为”class”,”n”改为”numbers”,提高代码可读性和维护性。

  2. 使用更简洁的循环: 使用foreach循环遍历JSON数据,更易于理解和维护。

  3. 数据拆分: 使用explode(‘#’, $number)函数将性别和人数信息拆分开,避免了直接输出字符串的冗余。

  4. 更清晰的输出: 输出格式更清晰,更易于阅读,直接显示性别和人数。

输出结果:

一年级<br /><h1>a校 一班</h1>
男:25<br />
女:29<br />
<br /><br />
一年级<br /><h1>a校 二班</h1>
男:30<br />
女:22<br />
<br /><br />
登录后复制

通过以上改进,代码能够准确地解析JSON数据,并清晰地显示学校、年级、班级、性别以及人数信息。 这使得代码更易于理解、维护和扩展。

以上就是PHP多层嵌套JSON数据输出:如何正确解析性别和人数信息?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1230704.html

发表回复

Your email address will not be published. Required fields are marked *