Помогите переделать код так что бы он был без анонимной/замыкающие функций
$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);