Funkcia preg_grep

Funkcia preg_grep vracia pole prvkov, ktoré zodpovedajú zadanému regulárnemu výrazu. Prvým parametrom funkcia prijíma reťazec s regulárnym výrazom, a druhým - pole pre vyhľadávanie. Tretí voliteľný parameter určuje, či sa majú vrátiť prvky, ktoré nezodpovedajú regulárnemu výrazu.

Syntax

phppreg_grep(pattern, array, [flags]);

Príznaky

Príznak Popis
PREG_GREP_INVERT Invertuje výsledok - vracia prvky, ktoré NEzodpovedajú vzoru.
PREG_GREP_NO_ERROR Negeneruje chybu pri nekorektnom regulárnom výraze (PHP 8.1+).

Príklad

Nájdime všetky prvky poľa, ktoré začínajú číslicou:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr);
  var_dump($res);
?>

Výsledok vykonania kódu:

php['2b', '4d']

Príklad

Použime príznak PREG_GREP_INVERT na získanie prvkov, ktoré NEzodpovedajú regulárnemu výrazu:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
  var_dump($res);
?>

Výsledok vykonania kódu:

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

Príklad

Nájdime všetky prvky poľa, obsahujúce iba číslice:

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

Výsledok vykonania kódu:

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

Pozrite tiež

  • funkciu preg_match,
    ktorá vykonáva kontrolu na zodpovedanosť regulárnemu výrazu
  • funkciu preg_replace,
    ktorá vykonáva vyhľadávanie a nahradzovanie podľa regulárneho výrazu