2017-06-26 110 views
-1

我有PHP(雄辯的集合)生成此JSON數據修改PHP雄辯收藏

{ 
    "1498454460": [ 
     { 
     "value_0": 22.7 
     }, 
     { 
     "value_2": 23 
     } 
    ], 
    "1498454640": [ 
     { 
     "value_0": 22.8 
     }, 
     { 
     "value_1": 53 
     }, 
     { 
     "value_2": 23 
     } 
    ] 
} 

我的目標是獲得這些數據格式與PHP:

{ 
    "timestamp": 1498454460, 
    "value_0": 22.7, 
    "value_2": 23 
}, 
{ 
    "timestamp": 1498454640, 
    "value_0": 22.8, 
    "value_1": 53, 
    "value_2": 23 
} 

我的腦子被鎖定我看不到溶液...:/

+0

你在Laravel,對不對?如果您將collection作爲對象,則可以使用[flatten helper方法](https://laravel.com/docs/5.4/collections#method-flatten)。 –

+0

Laravel是的!扁平幫手不起作用....我認爲 – vk72

回答

2

解碼的JSON成陣列,迭代陣列上方和創建這樣的期望結構:

<?php 
$json = ' 
{ 
    "1498454460": [ 
     { 
     "value_0": 22.7 
     }, 
     { 
     "value_2": 23 
     } 
    ], 
    "1498454640": [ 
     { 
     "value_0": 22.8 
     }, 
     { 
     "value_1": 53 
     }, 
     { 
     "value_2": 23 
     } 
    ] 
}'; 

$result = array(); 
foreach (json_decode($json, true) as $key => $value) { 
    $item = array(); 
    $item['timestamp'] = $key; 
    foreach ($value as $value2) { 
     $item = array_merge($item, $value2); 
    } 
    $result[] = $item; 
} 

echo json_encode($result); 
die(); 
+0

當然!真棒!謝謝! – vk72