Öncelikle kod paylaşırken https://laravel.gen.tr/d/4903-onemli-forumda-kod-paylasirken-dikkat-edilmesi-gerekenler adresinde bahsedilen hususlara dikkat ederseniz sevinirim.
Anladığım kadarıyla recursive function ile çözülebilir. Aşağıdaki örneği inceleyebilirsiniz:
$exampleData = [
[
'name' => 'Foo',
'data' => [
'name' => 'Bar',
'data' => [
'name' => 'Aaa',
'data' => [
'name' => 'Bbb',
'data' => [],
],
],
],
],
[
'name' => 'Ccc',
'data' => [
'name' => 'Ddd',
'data' => [
'name' => 'Eee',
'data' => [
'name' => 'Fff',
'data' => [],
],
],
],
],
[
'name' => 'Ggg',
'data' => [
'name' => 'Hhh',
'data' => [
'name' => 'Kkk',
'data' => [],
],
],
],
];
function writeNames(array $data): void
{
echo $data['name'] . PHP_EOL;
if ($data['data']) {
writeNames($data['data']);
}
}
foreach ($exampleData as $item) {
writeNames($item);
}