Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
206 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция preg_grep

Функция preg_grep возвращает массив элементов, которые соответствуют заданному регулярному выражению. Первым параметром функция принимает строку с регулярным выражением, а вторым - массив для поиска. Третий необязательный параметр определяет, следует ли возвращать элементы, которые не соответствуют регулярному выражению.

Синтаксис

preg_grep(pattern, array, [flags]);

Флаги

Флаг Описание
PREG_GREP_INVERT Инвертирует результат - возвращает элементы, которые НЕ соответствуют шаблону.
PREG_GREP_NO_ERROR Не генерирует ошибку при некорректном регулярном выражении (PHP 8.1+).

Пример

Найдем все элементы массива, которые начинаются с цифры:

<?php $arr = ['a1', '2b', 'c3', '4d', 'e5']; $res = preg_grep('/^\d/', $arr); var_dump($res); ?>

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

['2b', '4d']

Пример

Используем флаг PREG_GREP_INVERT для получения элементов, которые НЕ соответствуют регулярному выражению:

<?php $arr = ['a1', '2b', 'c3', '4d', 'e5']; $res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT); var_dump($res); ?>

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

['a1', 'c3', 'e5']

Пример

Найдем все элементы массива, содержащие только цифры:

<?php $arr = ['123', 'abc', '45', 'de', '678']; $res = preg_grep('/^\d+$/', $arr); var_dump($res); ?>

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

['123', '45', '678']

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

  • функцию preg_match,
    которая выполняет проверку на соответствие регулярному выражению
  • функцию preg_replace,
    которая выполняет поиск и замену по регулярному выражению
byenru