- json_decode: documentation ( source)
- json_encode: documentation ( source)
<?php
$json = <<<JSON
{
"data": [
{
"id": "40",
"memo_kondisi": "OKe lah",
"id_kondisi": "010118",
"total_row": "2",
"nilai_temuan": "10.000.000",
"nilai_potensi_kerugian": "9.000.000",
"data_sebab": [
{
"id": "12",
"id_sebab": "0202",
"total_row_b": "2",
"memo_sebab": "sebab 1",
"data_rekomendasi": [
{
"id": "14",
"id_rekomendasi": "",
"nilai_rekomendasi": "0",
"memo_rekomendasi": "",
"data_tindak_lanjut": [
{
"id": "20",
"id_tindak_lanjut": "",
"nilai_tindak_lanjut": "0",
"memo_tindak_lanjut": "",
"tindak_lanjut_no": "1",
"tgl_tindak_lanjut": "0000-00-00"
},
{
"id": "21",
"id_tindak_lanjut": "",
"nilai_tindak_lanjut": "0",
"memo_tindak_lanjut": "",
"tindak_lanjut_no": "1",
"tgl_tindak_lanjut": "0000-00-00"
}
]
},
{
"id": "14",
"id_rekomendasi": "",
"nilai_rekomendasi": "0",
"memo_rekomendasi": "",
"data_tindak_lanjut": [
{
"id": "20",
"id_tindak_lanjut": "",
"nilai_tindak_lanjut": "0",
"memo_tindak_lanjut": "",
"tindak_lanjut_no": "1",
"tgl_tindak_lanjut": "0000-00-00"
},
{
"id": "21",
"id_tindak_lanjut": "",
"nilai_tindak_lanjut": "0",
"memo_tindak_lanjut": "",
"tindak_lanjut_no": "1",
"tgl_tindak_lanjut": "0000-00-00"
}
]
}
]
}
]
}
]
}
JSON;
$data = json_decode($json, true)['data'];
$result = [];
foreach ($data as $datum) {
$copy = $datum;
// clear children
$copy['data_sebab'] = null;
foreach ($datum['data_sebab'] as $sebab) {
foreach ($sebab['data_rekomendasi'] as $rekomendasi) {
foreach ($rekomendasi['data_tindak_lanjut'] as $tindak_lanjut) {
$copy['data_sebab'] []= $tindak_lanjut;
}
}
}
$result['data'] []= $copy;
}
echo json_encode($result, JSON_PRETTY_PRINT);