Вопрос пользователя Роман Каминин в уроке «Группировка», курс «PHP: Функциональное программирование»

Роман Каминин

решил но подскажите зачем мы здесь используем функцию flatten? я использовал её в решении и я так понимаю это перестраховка если в качестве аргумента придёт многомерный массив.Из файла с тестами ясно что он к нам придёт а вот если бы приходили простые массивы уместно ли всё время использовать эту функцию?

3 0

Nikita Antonenkov

Можете показать решение?

0

Роман Каминин

` function ages($collection){

return flatten(group($collection,function($user){

return  getAge($user);

}));

} `

0

Nikita Antonenkov

Во-первых, на вход функции придёт обычный массив: тесты будут запускаться для каждого значения из массива, возвращаемого dataProvider. Во-вторых, вот код функции group. Как можно заметить, он всегда возвращает ассоциативный массив, где ключами являются значения, полученные применением переданной callback-функции к элементу, т.е. к $user. Поскольку нам на выходе ассоциативный массив не нужен, мы применяем flatten.

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг». Защита от спама reCAPTCHA «Конфиденциальность» и «Условия использования».

Похожие вопросы

Тимур Савин 06 июня 2020 →

:( Warning: Test case class not matching filename is deprecated in /usr/src/app/tes...

Sergey Erofeev 01 ноября 2017 →

Через командную строку не работает. // removed PHP Fatal error: Call to undefined function App\Solution\Us...

Владимир Тарановский 23 августа 2016 →

В ридми: Получить возраст пользователя - getAge(user) Вроде должно быть getAge($user)

Ярослав Подгорнов 24 июня 2016 →

Пробовал использовать пример из задания $u1 = User\make(4); $u2 = User\make(3); $u3 = User\make(5); $u4 = ...

Altay Sabyrbay 22 мая 2016 →

function ages ($array) { $groupedAges = group($array, function ($user) { return $user->getAge()...