PHP: Функции
2026-02-26 18:50 Diff

В PHP стандартная библиотека небогата функциями для работы с коллекциями, строками или датами. Этот недостаток можно восполнить, подключив стороннюю библиотеку.

Например, в мире JavaScript есть стандарт lodash, без которого не обходится практически ни один проект. В PHP нет единого устоявшегося решения, но есть пачка небольших, которые используются в разных проектах. Часть из них основана на объектном синтаксисе — мы рассмотрим их в более поздних уроках. Часть стандартов — это набор обычных функций. Кроме того, часть функций относится к функциям высшего порядка, которые мы еще не проходили, но разберем уже в следующем уроке.

Объектные:

Использующие только функции:

Сразу скажем, что в реальной работе необходимость использовать такие библиотеки возникает почти сразу. Еще совсем недавно PHP-программисты создавали файлы с полезными функциями и таскали их из одного проекта в другой. Эти времена уже прошли, можно не тратить время на то, что уже делалось тысячу раз до нас.

К сожалению, мы не сможем разобрать все возможные функции в этих курсах. Кое-что мы рассмотрим, но уже после учебы не забывайте периодически просматривать библиотеки — вдруг найдется что-то полезное.

Обратите внимание, что в указанных библиотеках иногда встречаются функции, которые уже встроены в сам язык. Так происходит по разным причинам:

  1. Согласованность. Такие функции-дубликаты делают для того, чтобы библиотека была полной
  2. Исправление ошибок PHP. В некоторых PHP-функциях по историческим причинам есть ошибки. Библиотеки могут сделать те же функции, но уже без ошибок
  3. Улучшение. Функции библиотек могут быть лучше стандартных: иметь другой порядок аргументов, расширенные возможности, убранные ограничения или просто понятное имя

Итак, начнем изучать функции библиотек. Первая на очереди — библиотека Funct.

Коллекции

Функция last

Такая простая и нужная функция почему-то отсутствует в самом PHP:

Функция rest

Принимает на вход массив. Возвращает новый массив, в котором отсутствует первый элемент исходного:

Функция without

Возвращает копию массива, из которого удалены все значения, переданные в функцию вторым и последующими параметрами:

Функция flattenAll

Принимает вложенный массив и делает его плоским:

Функция union

Находит объединение множеств:

Функция findWhere($collection, $value)

Просматривает массив и возвращает первое значение, совпадающее по всем парам «ключ-значение», переданным вторым параметром:

Строки

Функция camelize

Принимает на вход строку и возвращает ее версию, записанную в нотации lowerCamelCase:

Функция contains

Проверяет, включает ли строчка подстроку:

Функция endsWith

Проверяет, оканчивается ли строчка на подстроку:

Выводы

В этом уроке перечислена лишь небольшая часть из всего многообразия, которое вы можете найти на GitHub в документации соответствующих библиотек. Изучить все функции в рамках курсов невозможно, да и не нужно. Достаточно периодически проходиться по документации популярных библиотек и просматривать, как они используются. Таким образом вы постепенно научитесь писать более понятный и лаконичный код.