Функцыя 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
,
якая выконвае пошук і замену па рэгулярным выражэнні