2012-12-28 48 views
1

我想通过php和一个到mysql数据库的连接来构建我认为是json中的多维数组。通过PHP/MySQL构建一个多维JSON数组

这里是我要找的输出:

[{"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中的循环,我会想象,但我无法理解那些看起来像什么的问题。

我可能遗漏了需要帮助的信息,所以这只是为了让球滚动。

谢谢!

+2

你是什么输入? –

+2

您是否试过首先使用“while”循环获取使用PHP(和MySQL)构建的数组,然后在循环中将“分支”元素和适当的值附加到数组中?如果你可以先用你的所有数据正确地构建你的数组,我会建议使用'json_encode'而不是试图编写你自己的json序列化程序。 –

+0

谢谢Jared,我正在使用json_encode - 我不会尝试创建自己的序列化程序!将“分支”元素添加到数组中的正确语法是什么? – tomish

回答