Функција 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,
која извршува пребарување и замена по регуларен израз