3v4l.org

run code in 300+ PHP versions simultaneously
<?php $competence = json_decode('[ { "id": "21", "title": "blabla", "description": "blabla", "image": "blabla" }, { "id": "11", "title": "blabla", "description": "blabla", "image": "blabla" }, { "id": "26", "title": "blabla", "description": "blabla", "image": "blabla" } ]', true); $schedule = json_decode('[ { "id": "34", "parent_id": "21", "title": "blabla", "description": "blabla", "image": "blabla" }, { "id": "33", "parent_id": "21", "title": "blabla", "description": "blabla", "image": "blabla" }, { "id": "32", "parent_id": "11", "title": "blabla", "description": "blabla", "image": "blabla" }, { "id": "31", "parent_id": "26", "title": "blabla", "description": "blabla", "image": "blabla" } ]', true); foreach ($schedule as $s) { // find the parent_id in $competence if (($key = array_search($s['parent_id'], array_column($competence, 'id'))) !== false) { $competence[$key]['schedule'][] = $s; } } $response = array('competence' => $competence); echo json_encode($response, JSON_PRETTY_PRINT);
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
{ "competence": [ { "id": "21", "title": "blabla", "description": "blabla", "image": "blabla", "schedule": [ { "id": "34", "parent_id": "21", "title": "blabla", "description": "blabla", "image": "blabla" }, { "id": "33", "parent_id": "21", "title": "blabla", "description": "blabla", "image": "blabla" } ] }, { "id": "11", "title": "blabla", "description": "blabla", "image": "blabla", "schedule": [ { "id": "32", "parent_id": "11", "title": "blabla", "description": "blabla", "image": "blabla" } ] }, { "id": "26", "title": "blabla", "description": "blabla", "image": "blabla", "schedule": [ { "id": "31", "parent_id": "26", "title": "blabla", "description": "blabla", "image": "blabla" } ] } ] }

preferences:
151.76 ms | 411 KiB | 5 Q