Funktionen preg_grep
Funktionen preg_grep returnerar en array med element som matchar ett givet reguljärt uttryck. Den första parametern tar en sträng med det reguljära uttrycket, och den andra parametern tar arrayen som ska genomsökas. Den tredje valfria parametern avgör om element som INTE matchar det reguljära uttrycket ska returneras.
Syntax
preg_grep(pattern, array, [flags]);
Flaggor
| Flagg | Beskrivning |
|---|---|
PREG_GREP_INVERT |
Inverterar resultatet - returnerar element som INTE matchar mönstret. |
PREG_GREP_NO_ERROR |
Genererar inget fel vid felaktigt reguljärt uttryck (PHP 8.1+). |
Exempel
Låt oss hitta alla element i arrayen som börjar med en siffra:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Resultat av kodkörning:
['2b', '4d']
Exempel
Använd flaggan PREG_GREP_INVERT för att få element som INTE matchar det reguljära uttrycket:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Resultat av kodkörning:
['a1', 'c3', 'e5']
Exempel
Hitta alla element i arrayen som endast innehåller siffror:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Resultat av kodkörning:
['123', '45', '678']
Se även
-
funktionen
preg_match,
som utför kontroll mot ett reguljärt uttryck -
funktionen
preg_replace,
som utför sökning och ersättning med reguljära uttryck