【发布时间】:2012-12-14 00:00:21
【问题描述】:
我正在尝试通过 php 构建我认为是 json 中的多维数组并连接到 mysql 数据库。
这是我正在寻找的输出:
[{"region":"Americas"},
{"region":"West","division":"Americas","revenues":"100000","headcount":"6"},
{"region":"East","division":"Americas","revenues":"1500000","headcount":"8"},
{"region":"South","division":"Americas","revenues":"1000000","headcount":"7"},
{"office":"San Francisco","location":"50 Kearny Street", "branch":"West"},
{"office":"Los Angeles","location":"200 Sepulveda","branch":"West"},
{"office":"New York","location":"Penn Street","branch":"East"},
{"office":"Philadelphia","location":"155 Trent","branch":"East"},
{"office":"New Jersey","location":"420 Broadway","branch":"East"},
{"office":"Atlanta","location":"39000 Parker","branch":"South"}]
这为我提供了创建适当可视化的图形程序的提要。我的数据库返回上面 JSON 中的所有值(地区、部门、收入等),除了我必须自己编写代码的“分支”。我不能再次确定“区域”(因为图形算法)所以我不得不将它重命名为“分支”。在此当前配置下,“美洲”是顶部节点,下面是“区域”,然后是每个区域下的“分支”(视情况而定)。
到目前为止,我只能使用 PHP 和 json_(encode) 函数构建一个基本的 JSON 数组;为了获得上面的输出,我手动编辑了文件,以确保它可以在我的图表中正确呈现。
我要回答的问题是:动态构建上述数组的最快和最简单的方法是什么?通过 PHP 中的循环,我可以想象,但我无法理解那会是什么样子。
我可能遗漏了您需要帮助的信息,所以这只是为了让事情顺利进行。
谢谢!
【问题讨论】:
-
您是否尝试过首先使用
while循环使用 PHP(和 MySQL)构建数组,然后 inside 将“branch”元素和适当的值附加到您的循环中你的阵列?如果您可以先使用所有数据正确构建数组,我建议您使用json_encode而不是尝试编写自己的 json 序列化程序。 -
感谢 Jared,我正在使用 json_encode - 我绝不会尝试创建自己的序列化程序!将“分支”元素附加到我的数组中的正确语法是什么?