2015-02-10 24 views
0

對象的微調和修改後的結構是這樣的:PHP轉換解析和修改的內容爲可管理的陣列

{"key1": { 
    "key": value, 
    "key": value, 
    "key": [ 
     { 
      "key": value, 
      "key": value, 
      "key": value 
     },{ 
      "key": value, 
      "key": value 
     }], 
    "key": value 
}, 
"key2": { 
    "key": value, 
    "key": value, 
    "key": [ 
     { 
      "key": value, 
      "key": value, 
      "key": value 
     },{ 
      "key": value, 
      "key": value 
     }], 
    "key": value 
}, 
"key3": { 
    "key": value, 
    "key": value, 
    "key": [ 
     { 
      "key": value, 
      "key": value, 
      "key": value 
     },{ 
      "key": value, 
      "key": value 
     }], 
    "key": value 
}} 

我怎麼能轉換成一個可管理的陣列這個地方我能得到鑰匙,進入鍵和獲取數據?使用is_array來檢查它是否已經是一個數組,當然不是。

如果還有更多的修改需要使它更容易變成一個數組,我可以更substr。我主要需要key1,key2,key3中的數據。

在變量上施放一個數組並且執行一個foreach鍵/值只是給了我一個「0」作爲一個鍵......所以我想我需要一行一行地將它放到一個數組中?

+0

你有什麼迄今所做? – VeeeneX 2015-02-10 13:24:40

回答

2

如果輸入變量是JSON格式,你可以這樣做:

var_dump(json_decode($json)); 
+0

到目前爲止,我所做的是修剪並將其格式化爲甚至包含大括號。最初它是一個JavaScript變種。做一個foreach($ data爲$ key => $ value)'不會給我任何東西,因爲我認爲它不是正確的數組格式。 – denikov 2015-02-10 13:28:10

+1

您可以將JavaScript中的變量轉換爲JSON,然後您可以將其解析爲'json_decode()' – VeeeneX 2015-02-10 13:31:24

+0

問題是我沒有控制javascript。格式是AS IS,當它被給予我時... – denikov 2015-02-10 13:33:21