Оглавление
ВведениеСинтаксисБазовый примерИспользование метода класса в качестве callbackПередача ключа или пары ключ-значение в callbackИтог
Функция PHP array_filter
Введение
Когда требуется отфильтровать элементы массива, обычно приходится обходить все элементы и проверять, должен ли каждый из них попасть в результирующий массив.
Пример с использованием foreach:
Результат:
Функция
array_filter() позволяет сделать код короче и выразительнее:С PHP 7.4 можно использовать стрелочные функции:
Синтаксис
Функция перебирает элементы массива
$array, передавая каждый из них в callback-функцию. Если callback возвращает true, элемент включается в результат.Базовый пример
Для фильтрации чётных чисел:
Результат:
Использование метода класса в качестве callback
Можно передавать метод класса:
Результат:
Для статических методов:
Если класс реализует метод
__invoke(), его экземпляр можно использовать как callable:Результат:
Передача ключа или пары ключ-значение в callback
По умолчанию передаётся только значение. Чтобы передать ключ используйте
ARRAY_FILTER_USE_KEY:Результат:
Чтобы передать и ключ, и значение используйте
ARRAY_FILTER_USE_BOTH:Результат:
Итог
В этом руководстве вы научились использовать функцию PHP
array_filter() для фильтрации элементов массива с помощью callback-функций.