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

phppreg_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<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr);
  var_dump($res);
?>

A kód végrehajtásának eredménye:

php['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<?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:

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

Példa

Keressük meg a tömb azon elemeit, amelyek csak számjegyeket tartalmaznak:

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

A kód végrehajtásának eredménye:

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

Lásd még

  • a preg_match függvényt,
    amely reguláris kifejezésre való egyezést ellenőriz
  • a preg_replace függvényt,
    amely reguláris kifejezéssel keres és cserél