Funktionen preg_grep
Funktionen preg_grep returnerer et array med elementer, der matcher det angivne regulære udtryk. Den første parameter tager funktionen en streng med det regulære udtryk, og den anden - arrayet til søgning. Den tredje valgfrie parameter bestemmer, om elementer, der ikke matcher det regulære udtryk, skal returneres.
Syntaks
preg_grep(pattern, array, [flags]);
Flag
| Flag | Beskrivelse |
|---|---|
PREG_GREP_INVERT |
Inverterer resultatet - returnerer elementer, som IKKE matcher mønsteret. |
PREG_GREP_NO_ERROR |
Genererer ikke en fejl ved forkert regulært udtryk (PHP 8.1+). |
Eksempel
Lad os finde alle elementer i arrayet, der starter med et tal:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Resultat af kodeudførelse:
['2b', '4d']
Eksempel
Brug flaget PREG_GREP_INVERT til at få elementer, der IKKE matcher det regulære udtryk:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Resultat af kodeudførelse:
['a1', 'c3', 'e5']
Eksempel
Lad os finde alle elementer i arrayet, der kun indeholder tal:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Resultat af kodeudførelse:
['123', '45', '678']
Se også
-
funktionen
preg_match,
som udfører kontrol for overensstemmelse med et regulært udtryk -
funktionen
preg_replace,
som udfører søgning og erstatning med et regulært udtryk