Funzione preg_grep
La funzione preg_grep restituisce un array di elementi che corrispondono all'espressione regolare specificata. Il primo parametro della funzione accetta una stringa con l'espressione regolare, e il secondo - l'array in cui cercare. Il terzo parametro opzionale determina se restituire gli elementi che non corrispondono all'espressione regolare.
Sintassi
preg_grep(pattern, array, [flags]);
Flag
| Flag | Descrizione |
|---|---|
PREG_GREP_INVERT |
Inverte il risultato - restituisce gli elementi che NON corrispondono al pattern. |
PREG_GREP_NO_ERROR |
Non genera un errore in caso di espressione regolare non corretta (PHP 8.1+). |
Esempio
Troviamo tutti gli elementi dell'array che iniziano con una cifra:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['2b', '4d']
Esempio
Usiamo il flag PREG_GREP_INVERT per ottenere gli elementi che NON corrispondono all'espressione regolare:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['a1', 'c3', 'e5']
Esempio
Troviamo tutti gli elementi dell'array contenenti solo cifre:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['123', '45', '678']
Vedi anche
-
la funzione
preg_match,
che esegue la verifica della corrispondenza a un'espressione regolare -
la funzione
preg_replace,
che esegue ricerca e sostituzione tramite espressione regolare