BLACK FRIDAY

осталось 2 дня

Скидка 10% и подарок на выбор — при покупке одной программы
При покупке двух программ  — вторая со скидкой 50%
курс

PHP: Функции

1606 студентов 1073 сообщения
Последнее обновление: 24 ноября 2022
Курс PHP: Функции
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат обучения

Включено в курс

16 уроков (видео и/или текст)
24 упражнения в тренажере
40 проверочных тестов
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

Чему вы научитесь

  • Использовать продвинутые возможности функций для написания лаконичного и эффективного кода
  • Отделять чистые функции от функций с побочными эффектами
  • Использовать функции высшего порядка (map/filter/reduce) для обработки коллекций
  • Отличать императивную парадигму программирования от декларативной (функциональной)

Описание

Функции в PHP способны на большее. В этом курсе вы познакомитесь с такими понятиями, как объекты первого рода, лямбда-функции и функции высшего порядка. Научитесь передавать и принимать неограниченное число аргументов, изучите операции «отображение», «фильтрация» и «агрегация». Также познакомитесь со сторонними библиотеками, которые значительно упрощают работу программиста.

Уроки курса

Продолжительность 18 часов

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений

Отзывы

Аватар пользователя Andrey_me
Andrey_me 02 июня 2022

Отзыв. Знаком с PHP уже лет 15, но все равно почерпнул для себя много нового, чего я раньше либо не знал, либо просто никогда не использовал. Например, не знал чем точно отличается императивный подход от декларативного, хоть и встречался с этими определениями, а о понятии функций высшего порядка вообще никогда не слышал. Благодарю.


Аватар пользователя Diana B
Diana B 30 октября 2019

Классная задачка для подведения итогов и раскладывания по полкам :)


Аватар пользователя Kirill Svirid
Kirill Svirid 13 февраля 2019

Просидел.. ., попыхтел.. .,просматривал и разбирал примеры из теории, иногда запускал некоторые из примеров в repl.it, где-то для меня было так удобнее и в чём-то помогало. Как в некоторых случаях помогал просмотр файла с тестами, там бывает можно натолкнуться на мысль о решении, каким оно должно выглядеть, ну это к примеру.

Пробовал и еще раз пробовал, вникал и наконец-то решил. Конечно, не так элегантно и лаконично как решение учителя. Решение учителя включает в себя всё трио, пройденных трёх функций, красиво применена и array_filter, и array_map в итоге возврат нужного результата из array_reduce, просто красота! Эх.. . Я же в своём решении всё "скармил" одной мощной array_reduce, понятно, что внутри получилось много проверок - if-ов, возможно и "лишних" присвоений, не очень красивых retur-ов :) . Вобщем такой олдскульный хардкор:)

Когда начинаешь понемногу вникать и доходить до принципов устройства и работы этих чУдесных:) функций: array_map, array_filter, array_reduce , то раскладывается всё по-полочкам. По-началу пытаешься как бы "уловить", где там цикл "зашит", потому что привык уже и чувствуешь что вот он работает, а его явно не видно:) и как-будто чего-то не хватает:).

В array_reduce не совсем привычны действия с аккумулятором, вроде бы прочитаешь теорию и просмотришь примеры и кажется, да и понятно, в общем и в целом, но потом на практике есть свои моменты, нюансы и нужно разбираться, как говорится: "Мелочи - это не пустяки! И мелочи в мелочах - вовсе не мелочи!". Это особенно применимо к программированию!

[?] Такой вот вопрос с аккумулирующим в себе итоговое значение, как взаимосвязаны в решении учителя массив $acc, который подаётся первым аргументом в нашу анонимную функцию и 3-тий параметр - пустой массив [] в array_reduce ? Пустой массив $acc , наполняется в цикле внутри анонимной функции с учётом всех тех условий, прописанных в теле функции. То есть каждую итерацию идёт заполнение изначально пустого - $acc , по окончанию цикла, далее наполненный $acc возвращается уже из нашей анонимной функции - return $acc , то есть вот он у нас собственно есть return результирующего нужного нам массива, а какую роль играет тут 3-тий аргумент array_reduce? Это просто показать, что возвращаться будет массив - [] ? Ведь по сути агрегируется $acc , а как $acc связан с 3-им аргументом - []. Вобщем не совсем понятна что-ли роль этого 3-его аргумента агрегатора в array_reduce и вообще это похоже как итоговый(2-ой возврат) из функции - вернули наш результирующий массив $acc, к тому еще из array_reduce вернули 3-тий аргумент - [] ? Представляется что-то такое.)

// removed


Аватар пользователя Станислав Муратшин
Станислав Муратшин 08 октября 2018

Решил через регулярные выражения, хотя до конца и не понял как это получилось. Посмотрел решение учителя. Это круто! Разделить через explode и вернуть вторую часть. Очень интересно.

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы PHP-разработчик
Профессия
с нуля
Разработка веб-приложений на Laravel
1 декабря 10 месяцев