A preg_grep függvény
A preg_grep függvény a tömb azon elemeit adja vissza, amelyek megfelelnek a megadott reguláris kifejezésnek. Az első paraméterben a függvény egy sztringet fogad el a reguláris kifejezéssel, a másodikban pedig a keresendő tömböt. A harmadik, opcionális paraméter határozza meg, hogy a reguláris kifejezésnek nem megfelelő elemeket kell-e visszaadni.
Szintaxis
preg_grep(pattern, array, [flags]);
Flagek
| Flag | Leírás |
|---|---|
PREG_GREP_INVERT |
Megfordítja az eredményt - a mintának NEM megfelelő elemeket adja vissza. |
PREG_GREP_NO_ERROR |
Nem generál hibát helytelen reguláris kifejezés esetén (PHP 8.1+). |
Példa
Keressük meg a tömb azon elemeit, amelyek számjeggyel kezdődnek:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['2b', '4d']
Példa
Használjuk a PREG_GREP_INVERT flaget azon elemek lekéréséhez, amelyek NEM felelnek meg a reguláris kifejezésnek:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['a1', 'c3', 'e5']
Példa
Keressük meg a tömb azon elemeit, amelyek csak számjegyeket tartalmaznak:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['123', '45', '678']
Lásd még
-
a
preg_matchfüggvényt,
amely reguláris kifejezésre való egyezést ellenőriz -
a
preg_replacefüggvényt,
amely reguláris kifejezéssel keres és cserél