Funcția preg_grep

Funcția preg_grep returnează un array cu elementele care se potrivesc cu expresia regulată dată. Primul parametru al funcției primește un șir cu expresia regulată, iar al doilea - array-ul pentru căutare. Al treilea parametru opțional determină dacă să returneze elementele care NU se potrivesc cu expresia regulată.

Sintaxă

phppreg_grep(pattern, array, [flags]);

Steaguri

Steag Descriere
PREG_GREP_INVERT Inversează rezultatul - returnează elementele care NU se potrivesc cu șablonul.
PREG_GREP_NO_ERROR Nu generează eroare la expresie regulată incorectă (PHP 8.1+).

Exemplu

Să găsim toate elementele array-ului care încep cu cifră:

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

Rezultatul executării codului:

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

Exemplu

Folosim steagul PREG_GREP_INVERT pentru a obține elementele care NU se potrivesc cu expresia regulată:

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

Rezultatul executării codului:

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

Exemplu

Să găsim toate elementele array-ului care conțin doar cifre:

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

Rezultatul executării codului:

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

Vedeți și

  • funcția preg_match,
    care efectuează verificarea potrivirii cu o expresie regulată
  • funcția preg_replace,
    care efectuează căutare și înlocuire folosind o expresie regulată