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ă
preg_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
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Rezultatul executării codului:
['2b', '4d']
Exemplu
Folosim steagul PREG_GREP_INVERT pentru a obține elementele care NU se potrivesc cu expresia regulată:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Rezultatul executării codului:
['a1', 'c3', 'e5']
Exemplu
Să găsim toate elementele array-ului care conțin doar cifre:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Rezultatul executării codului:
['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ă