От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
183 of 410 menu

Функция array_filter

Функция array_filter фильтрует массив с помощью заданной функции. В параметр функции последовательно будут попадать элементы массива и, если для этого элемента функция вернет true - элемент останется в массиве, а если false - удалится. В массиве останутся только те элементы, для которых функция вернет true.

Если исходный массив является ассоциативным, то его ключи сохраняются.

Синтаксис

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

Пример

Давайте оставим в массиве только положительные элементы:

<?php function func($num) { if ($num >= 0) { return true; } else { return false; } } $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, 'func'); var_dump($res); ?>

Результат выполнения кода:

[1, 2, 3]

Пример

Сократим условие:

<?php function func($num) { return $num >= 0; } $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, 'func'); var_dump($res); ?>

Результат выполнения кода:

[1, 2, 3]

Пример

Переделаем на анонимную функцию:

<?php $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, function($num) { return $num >= 0; }); var_dump($res); ?>

Результат выполнения кода:

[1, 2, 3]

Пример

Переделаем на стрелочную функцию:

<?php $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, fn($num) => $num >= 0); var_dump($res); ?>

Результат выполнения кода:

[1, 2, 3]

Смотрите также

  • функцию array_map,
    которая применяет функцию к элементам массива
  • функцию array_walk,
    которая вызывает функцию для элементов массива
  • функцию array_walk_recursive,
    которая рекурсивно вызывает функцию для элементов массива
  • функцию array_reduce,
    которая сворачивает массив
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить