0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 20
|
|
1 | |
Генераторы в PHP17.05.2018, 23:06. Показов 3615. Ответов 26
Метки нет (Все метки)
PHP только начинаю изучать и вот появилась задача. Как это правильно реализовать, не представляю(
1 Создайте анонимную функцию и поместите её в переменную. Функция должна принимать массив и возвращать среднее значение всех элементов. 2 Создайте функцию-генератор, принимающую двумерный массив и функцию. Эта функция на каждой итерации должна возвращать среднее значение текущего массива. 3 Создайте двумерный массив из чисел. 4 С помощью foreach выведите все средние значения элементов двумерного массива.
0
|
17.05.2018, 23:06 | |
Ответы с готовыми решениями:
26
Различные генераторы различных документов Функции генераторы и выражения генераторы Электронные генераторы Генераторы документаций |
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
17.05.2018, 23:08 | 2 |
0
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 20
|
||||||
17.05.2018, 23:14 [ТС] | 3 | |||||
Jewbacabra, Вот примерно реализовать 3 и 4 п. ещё понимаю как:
С остальным сложно разобраться..
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
17.05.2018, 23:18 | 4 |
В п.4 сказано "выведите все средние значения элементов двумерного массива". Т.е среднее значение каждого подмассива.
И у меня сложилось впечатление, что реализовать 4 пункт нужно используя результаты 1 и 2, и начинать нужно с них.
0
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 20
|
|||||||||||
17.05.2018, 23:55 [ТС] | 5 | ||||||||||
Jewbacabra, тоже так думаю, но как связать пока не знаю.
1 п.
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
18.05.2018, 00:47 | 6 |
MailaGoogle, ну практически готово. Теперь нужно в функцию генератор передать двумерный массив и функцию вычисления среднего. Результат проитерировать с помощью
foreach , выводя значение на каждой итерации
0
|
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
|
|||||||||||
18.05.2018, 13:48 | 7 | ||||||||||
1.
2 вопрос не понял какую функцию передать, пользовательскую или какую?
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
18.05.2018, 15:32 | 8 |
maxoun, п 4 нужно реализовать используя наработки п 1 и 2. И оператор ... тут неуместен
0
|
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
|
|
18.05.2018, 16:34 | 9 |
Ну и почему же?? вдруг пользователь решил передать 100 значений массива?
Я нигде не увидел что п 4 нужно реализовать с помощью 1 и 2.
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
18.05.2018, 21:57 | 10 | |||||
Хоть 1 000 000. На то он и массив. Но один массив. Если 1 аргумент раскрыть через оператор ..., то 1 аргумент и останется Да и на 9 символов больше получается. https://ideone.com/75e3bC
Это вытекает из логики задания. Лирическое отступление: Добавлено через 7 минут
2
|
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
|
|
20.05.2018, 15:16 | 11 |
мда
0
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 20
|
||||||
20.05.2018, 23:06 [ТС] | 12 | |||||
Jewbacabra,
С помощью callable $callback не совсем понятно( У меня вариант такой получился:
0
|
0 / 0 / 0
Регистрация: 08.07.2018
Сообщений: 1
|
||||||
05.11.2018, 15:55 | 13 | |||||
0
|
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
|
|||||||||||
05.11.2018, 17:03 | 14 | ||||||||||
DarkStyleee
Кликните здесь для просмотра всего текста
Не по теме: Ваш генератор на самом деле не совсем генератор, я бы даже сказал - совсем не генератор Добавлено через 50 секунд Jewbacabra, +1 Добавлено через 1 минуту Jewbacabra, Вы не могли бы "на пальцах" объяснить, в чём существенное преимущество этой записи
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
05.11.2018, 17:18 | 15 |
В глобальном пространстве имен преимуществ нет.
В остальных случаях на 1 опкод меньше в скомпилированном коде. Щас уже статьи не найду, но читал что symfony таким образом ускорили на что-то около 5%. Мелочь конечно, но все же. И есть вероятность, что в новых версиях php обращение к глобальному пространству имен без явного указания будет объявлено устаревшим. Можно в начале файла писать use function array_sum;
1
|
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
|
||||||
05.11.2018, 17:23 | 16 | |||||
А со второй функцией тогда так же можно действовать?
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
05.11.2018, 17:40 | 17 |
0
|
-9 / 0 / 0
Регистрация: 14.11.2023
Сообщений: 5
|
||||||
15.11.2023, 12:21 | 18 | |||||
Тут всё намного проще и понятнее. Вот зачем нужно воду мутить и что-то изобретать с нуля до гуру.
0
|
2227 / 1274 / 609
Регистрация: 23.08.2015
Сообщений: 3,222
|
|
24.11.2023, 13:01 | 19 |
0
|
-9 / 0 / 0
Регистрация: 14.11.2023
Сообщений: 5
|
|
24.11.2023, 16:57 | 20 |
Ты в этом уверен? А чо нет-то? Может всё таки требуется?
Возьми да выведи это среднее значение абсолютно всех элементов, вдруг преподаватель по 4-му этапу захочет увидеть именно это? По крайней мере, ориентируясь на свой опыт, я дал определённый совет на всякий пожарный
0
|
24.11.2023, 16:57 | |
24.11.2023, 16:57 | |
Помогаю со студенческими работами здесь
20
Генераторы списков Генераторы в InterBase Генераторы текстов Генераторы на python Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |