2017-06-26 10 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にいますか?コレクションをオブジェクトとして使用している場合は、[flatten helper method](https://laravel.com/docs/5.4/collections#method-flatten)を使用できます。 –

+0

Laravel yep!フラットヘルパーは動作しません....私は考えます – 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