Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

array_filter

Оставляет в массиве элементы, прошедшие проверку.

Доступно с: PHP 4

Синтаксис

array_filter(array $array, ?callable $callback = null, int $mode = 0): array

Параметры

ПараметрТипОписание
$arrayarrayИсходный массив.
$callback?callableФункция-проверка: элемент остаётся, если она вернула `true`. Без неё удаляются пустые значения.
$modeintС `ARRAY_FILTER_USE_KEY` в функцию передаётся ключ, с `ARRAY_FILTER_USE_BOTH` — значение и ключ.

Возвращаемое значение

arrayНовый массив с отобранными элементами. Ключи сохраняются.

Примеры

Только чётные числа — обратите внимание на ключи:

<?php
 
print_r(array_filter([1, 2, 3, 4], fn ($n) => $n % 2 === 0));

Результат:

Array
(
    [1] => 2
    [3] => 4
)

Без функции удаляются пустые значения:

<?php
 
print_r(array_filter([0, 1, '', 'a', null]));

Результат:

Array
(
    [1] => 1
    [3] => a
)

Чтобы ключи шли по порядку, результат пропускают через array_values():

<?php
 
print_r(array_values(array_filter([1, 2, 3, 4], fn ($n) => $n % 2 === 0)));

Результат:

Array
(
    [0] => 2
    [1] => 4
)

Примечания

Ключи исходного массива сохраняются, поэтому в результате могут появиться «дырки» в нумерации. Если нужен обычный список, добавляйте array_values().

См. также

  • array_map — Применяет функцию к каждому элементу массива.
  • array_unique — Удаляет из массива повторяющиеся значения.

Вопросы и ответы по теме

В учебнике

  • Функции — Как объявлять и вызывать функции в PHP — параметры, возврат значения, типы и область видимости.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.