Вы можете изменить его, чтобы использовать Коллекции, так как вы используете Laravel.
Например:
$response = [
[
(object) [
'code' => 200,
'body' => '{"copied_adset_id":15454,"ad_object_ids": [{"ad_object_type":"ad_set","source_id": 545454,"copied_id": 545}]}'
],
(object) [
'code' => 200,
'body' => '{"copied_adset_id":15454,"ad_object_ids": [{"ad_object_type":"ad_set","source_id": 545454,"copied_id": 545}]}'
]
],
[
(object) [
'code' => 200,
'body' => '{"copied_adset_id":15454,"ad_object_ids": [{"ad_object_type":"ad_set","source_id": 545454,"copied_id": 545}]}'
],
(object) [
'code' => 200,
'body' => '{"copied_adset_id":15454,"ad_object_ids": [{"ad_object_type":"ad_set","source_id": 545454,"copied_id": 545}]}'
]
]
];
return collect($response)
->flatten()
->flatMap(function($item) {
return json_decode($item->body, true)['ad_object_ids'];
})
->map(function($item) {
return array_only($item, ['source_id', 'copied_id']);
})
->toArray();
Вывод вышеупомянутого будет:
array:4 [▼
0 => array:2 [▼
"source_id" => 545454
"copied_id" => 545
]
1 => array:2 [▼
"source_id" => 545454
"copied_id" => 545
]
2 => array:2 [▼
"source_id" => 545454
"copied_id" => 545
]
3 => array:2 [▼
"source_id" => 545454
"copied_id" => 545
]
]
Вот пример , с которым вы можете поиграть.