Помогите переделать код так что бы он был без анонимной/замыкающие функций

$data = [
    'authors' => [
        301 => [
            'id' => 301,
            'name' => 'Александр Сергеевич Пушкин',
            'email' => '[email protected]',
            'birthYear' => 1799,
        ],
        10 => [
            'id' => 10,
            'name' => 'Николай Васильевич Гоголь',
            'email' => '[email protected]',
            'birthYear' => 1809,
        ],
        17 => [
            'id' => 17,
            'name' => 'Михаил Юрьевич Лермонтов',
            'email' => '[email protected]',
            'birthYear' => 1814,
        ],
    ],
    'books' => [
        [
            'title' => 'Евгений Онегин',
            'publishedAt' => '1823—1832',
            'author' => 301,
        ],
        [
            'title' => 'Полтава',
            'publishedAt' => '1828—1829',
            'author' => 301,
        ],
        [
            'title' => 'Мёртвые души',
            'publishedAt' => '1842',
            'author' => 10,
        ],
        [
            'title' => 'Сказка о рыбаке и рыбке',
            'publishedAt' => '1833',
            'author' => 301,

        ],
    ],
];



echo '=== Авторы ===<br>';

array_map(function($e){
    echo $e['name'],'-', $e['email'],'-', $e['birthYear'],'<br>';
}, $data['authors']);

echo '=== Книги ===<br>';

array_map(function($e){
    echo $e['title'],'-', $e['publishedAt'],'-', $e['author'], '<br>';
}, $data['books']);

Ответы (1 шт):

Автор решения: Slava Rozhnev
function getAuthor($e) {
    return $e['name'] . '-' . $e['email'] . '-' . $e['birthYear'] . '<br>';
}

$authors = array_map('getAuthor', $data['authors']);

var_export($authors);


function getBook($e) {
    return $e['title'] . '-' . $e['publishedAt'] . '-' . $e['author'] . '<br>';
}
$books = array_map('getBook', $data['books']);

var_export($books);

Online PHP

→ Ссылка