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
preg_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
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Wynik wykonania kodu:
['2b', '4d']
Przykład
Użyjmy flagi PREG_GREP_INVERT aby otrzymać elementy, które NIE pasują do wyrażenia regularnego:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Wynik wykonania kodu:
['a1', 'c3', 'e5']
Przykład
Znajdźmy wszystkie elementy tablicy zawierające tylko cyfry:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Wynik wykonania kodu:
['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