Как вывести вместо author имя писателя?
0
<?php
$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 sprintf('%s – %s – %s',$e['name'], $e['email'], $e['birthYear']) . '<br>';
}, $data['authors']);
echo '=== Книги ===<br>';
array_map(function($e){
echo sprintf('%s – %s – %s',$e['title'], $e['publishedAt'], $e['author']) . '<br>';
}, $data['books']);
?>
2 ответов
0
Примерно такой код должен получиться:
<?php
$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>';
foreach($data['authors'] as $item) {
echo $item['name'].' - '.$item['email'].' - '.$item['birthYear'].'<br>';
}
echo "<br><br>";
echo '=== Книги ===<br>';
foreach($data['books'] as $item) {
echo $item['title'].' - '.$item['publishedAt'].' - '. $data['authors'][$item['author']]['name'].'<br>';
}
?>
Вывод будет таким в браузере:
=== Авторы ===
Александр Сергеевич Пушкин - [email protected] - 1799
Николай Васильевич Гоголь - [email protected] - 1809
Михаил Юрьевич Лермонтов - [email protected] - 1814
=== Книги ===
Евгений Онегин - 1823—1832 - Александр Сергеевич Пушкин
Полтава - 1828—1829 - Александр Сергеевич Пушкин
Мёртвые души - 1842 - Николай Васильевич Гоголь
Сказка о рыбаке и рыбке - 1833 - Александр Сергеевич Пушкин
Обрати внимание на эту запись:
$data['authors'][$item['author']]['name']
0
Огромное спасибо!!!!