Funkcja preg_grep

Funkcja preg_grep zwraca tablicę elementów, które pasują do podanego wyrażenia regularnego. Pierwszy parametr funkcji przyjmuje ciąg znaków z wyrażeniem regularnym, a drugi - tablicę do przeszukania. Trzeci opcjonalny parametr określa, czy zwracać elementy, które nie pasują do wyrażenia regularnego.

Składnia

phppreg_grep(pattern, array, [flags]);

Flagi

Flaga Opis
PREG_GREP_INVERT Odwraca wynik - zwraca elementy, które NIE pasują do wzorca.
PREG_GREP_NO_ERROR Nie generuje błędu przy nieprawidłowym wyrażeniu regularnym (PHP 8.1+).

Przykład

Znajdźmy wszystkie elementy tablicy, które zaczynają się od cyfry:

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

Wynik wykonania kodu:

php['2b', '4d']

Przykład

Użyjmy flagi PREG_GREP_INVERT aby otrzymać elementy, które NIE pasują do wyrażenia regularnego:

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

Wynik wykonania kodu:

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

Przykład

Znajdźmy wszystkie elementy tablicy zawierające tylko cyfry:

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

Wynik wykonania kodu:

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

Zobacz też

  • funkcję preg_match,
    która wykonuje sprawdzenie dopasowania do wyrażenia regularnego
  • funkcję preg_replace,
    która wykonuje wyszukiwanie i zamianę za pomocą wyrażenia regularnego