Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 2

Трудности с многомерными массивами

13.04.2019, 21:02. Показов 3904. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

Только начинаю полноценно вникать в PHP и столкнулся с небольшой трудностью. Точнее - не могу вывести правильно элементы многомерного массива.

Дело в том, что хотел записаться на стажировку по PHP и мне прислали тестовые задания. Одним из таких заданий было это:

Небходимо придумать удобную структуру результирующего массива, с
помощью которого можно решить следующую задачу.
В системе (программе или базе данных) есть авторы и книги, у каждой книги
только один автор.
Создайте массив, в котором будет не менее 3-х авторов и не менее 5-ти книг.
Необходимо вывести информацию по всем авторам, на каждой строке : имя
Автора – его email – год рождения.
Затем необходимо вывести информацию по книгам, на каждой строке:
Название книги – Имя автора - год выпуска книги.
Например:
Николай Васильевич – gogol@gogol.ru - 1809
Пушкин – alexandr@sergeevich.ru - 1799
Мертвые души – Николай Васильевич - 1841
Вий – Николая Васильевич - 1834
Пиковая дама - Пушкин - 1833

Это задание я решил так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
$authors = [
 
1 => [
 
'name' => 'Александр Сергеевич',
 
'born' => '1799',
 
'email' => 'arap@pushkin.ru',
 
'books' => [
[
'title' => 'Лукоморье',
'creat' => '1829'
],
[
'title' => 'Царь Салтан',
'creat' => '1832'
]
]
],
 
2 => [
'name' => 'Лев Николаевич',
'born' => '1828',
'email' => 'lev@tolstoi.ru',
'books' => [
[
'title' => 'Детство',
'creat' => '1852'
],
[
'title' => 'Война и мир',
 
'creat' => '1863'
 
]
 
]
 
],
 
3 => [
 
'name' => 'Николай Васильевич',
 
'born' => '1809',
 
'email' => 'gogol@mogol.ru',
 
'books' => [
 
[
 
'title' => 'Вий',
 
'creat' => '1835'
 
]
 
]
 
]
 
];
 
foreach ($authors as $author) {
 
echo $author['name'] . " - " . $author['email'] . " - " . $author['born'] . "<br />";
 
}
 
echo "<br /><hr /><br />";
 
foreach ($authors as $author) {
 
foreach ($author['books'] as $book) {
 
echo $book['title'] . " - " . $author['name'] . " - " . $book['creat'] . "<br />";
 
}
 
}
Его мне не засчитали или засчитали частично. Про ключи сразу понял, но есть еще что-то. Комментарий проверяющего был примерно такой:

"Переопределены ключи, книги внутри авторов".

Что я не так сделал? Подскажите пожалуйста. Всем спасибо заранее за ответ!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2019, 21:02
Ответы с готовыми решениями:

Работа с многомерными массивами
Помогите с решением следующей задачи: Есть текстовый файл 'Первый тест.test', который содержит следующие строки (2): / Первый тест (-...

Работа с многомерными массивами
Добрый день. Очень нужна помощь. Есть многомерный массив такого вида: Array ( =&gt; Array ( ...

Работа с многомерными массивами
Задание такое решить уранения с помощью неявной разностной сетки.Оно решается путем создания массива $u это аналогия $u Прилогаю фаил...

9
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
13.04.2019, 21:45
Думаю что они хотели подобию РСУБД на массивах. Должно быть по массиву на авторов и книги. И в каждой книге дополнительное поле с ключем от автора
0
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 2
13.04.2019, 21:50  [ТС]
Возможно и так, но написано "Создайте массив, в котором будет не менее 3-х авторов и не менее 5-ти книг."

То есть какой-то один общий массив и в нем отдельно авторы, отдельно книги, с полем "Автор". Тогда же чрезмерная какая-то структура получится.

Я подумал изначально что я что-то кардинально не понимаю в выводе многомерных массивов. Но так-то вроде правильно. Вот поэтому и пришел на форум спрашивать.
0
1 / 1 / 0
Регистрация: 09.10.2019
Сообщений: 1
20.01.2020, 11:47
Здравствуйте, уважаемые кандидаты на стажировку, выполняющие это задание

Я Волков Михаил, автор этого задания) и ментор на стажировке в QSOFT.

Если вы собрались скопировать приложенный вариант решения, то предупрежу сразу, я конечно же увижу копию, и задание зачтено НЕ будет.

Пожалуйста, выполняйте задания самостоятельно, иначе зачем вам на стажировку, если вы не хотите учиться
1
20.01.2020, 21:11

Не по теме:

пацаны палево...

0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
20.01.2020, 23:49
Цитата Сообщение от swede1987 Посмотреть сообщение
То есть какой-то один общий массив и в нем отдельно авторы, отдельно книги, с полем "Автор"
Хорошая мысль, только код не соответствует.
0
0 / 0 / 0
Регистрация: 13.01.2020
Сообщений: 81
21.01.2020, 21:54
Здравствуйте, Михаил.
А когда мое задание проверите?)
0
0 / 0 / 0
Регистрация: 15.01.2018
Сообщений: 8
27.01.2020, 18:24
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$avtors = [
    ["Тургенев", "turgenev@knigi.ru","1818"],
    ["Толстой", "tolstoy@moscow.ru","1828"],
    ["Гайдар", "gaidar@moscow.ru","1904"]
];
 
//----------------------------
 
$knigi = [
    ["Отцы и дети", $avtors[0][0],"1862"],
    ["Война и мир", $avtors[1][0],"1869"],
    ["Тимур и его команда", $avtors[2][0],"1940"],
    ["Чук и Гек", $avtors[2][0],"1939"],
    ["Голубая чашка", $avtors[2][0],"1936"]
 
];
$result=array_merge($avtors, $knigi);
foreach ($result as $rest=>$rst){
    echo implode("-",$rst)."<br>";
}
Добавлено через 3 минуты
я вроде решил задачу, даже обрадовался, а мне потом письмо недостаточно навыков, я такой про себя думаю, делал новостной блог на ларавел и сделал тестовое задание, думаю ошибки отсутствуют, т.к. мне бы их тогда указали, лан, ничего плохо не буду говорить, просто могли хотя бы сказать что у меня не так, если кто-то сомневается что у меня что-то не так, могу все тестирование скинуть
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
27.01.2020, 21:11
Цитата Сообщение от Rinzi Посмотреть сообщение
просто могли хотя бы сказать что у меня не так
Цитата Сообщение от Rinzi Посмотреть сообщение
PHP
1
["Отцы и дети", $avtors[0][0],"1862"],
Меня бы такое связывание с авторами тоже смутило.
0
0 / 0 / 0
Регистрация: 15.01.2018
Сообщений: 8
29.01.2020, 01:06
да не, я понял свои ошибки, поэтому на мой код можно и не смотреть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2020, 01:06
Помогаю со студенческими работами здесь

общение между PHP и JavaScript, и работа с многомерными массивами.
Добрый день) Может тему стоило начинать в разделе JavaScript, но все таки решила здесь, потому что вопросы есть и с занесением в базу...

Работа с многомерными массивами
Подскажите пожалуйста как из одного двумерного массива выбрать некоторые данные и положить в другой. Например: Masiv_1(2,3) ...

Задачка с многомерными массивами
В массиве 9х9 действительных чисел найти сумму элементов в каждой строке.

Работа с многомерными массивами
Привет всем. Нужна ваша помощь. Помогите разобраться с заданием. Не могу никак его понять Задание: Мне не нужна помощь с...

Работа с многомерными массивами
Одним из дефектов современных КМОП фотоприемных матриц являются &quot;битые&quot; пиксели - дефектные элементы, выдающие одно и то же значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru