2012-12-28 76 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

回答