Funktion preg_grep
Die Funktion preg_grep gibt ein Array mit Elementen zurück, die mit einem gegebenen regulären Ausdruck übereinstimmen. Der erste Parameter der Funktion ist ein String mit dem regulären Ausdruck, der zweite - das Array für die Suche. Der dritte optionale Parameter bestimmt, ob Elemente zurückgegeben werden sollen, die nicht mit dem regulären Ausdruck übereinstimmen.
Syntax
preg_grep(pattern, array, [flags]);
Flags
| Flag | Beschreibung |
|---|---|
PREG_GREP_INVERT |
Invertiert das Ergebnis - gibt Elemente zurück, die NICHT mit dem Muster übereinstimmen. |
PREG_GREP_NO_ERROR |
Erzeugt keinen Fehler bei einem ungültigen regulären Ausdruck (PHP 8.1+). |
Beispiel
Finden wir alle Elemente des Arrays, die mit einer Ziffer beginnen:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Ergebnis der Codeausführung:
['2b', '4d']
Beispiel
Verwenden wir das Flag PREG_GREP_INVERT, um Elemente zu erhalten, die NICHT mit dem regulären Ausdruck übereinstimmen:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Ergebnis der Codeausführung:
['a1', 'c3', 'e5']
Beispiel
Finden wir alle Elemente des Arrays, die nur Ziffern enthalten:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Ergebnis der Codeausführung:
['123', '45', '678']
Siehe auch
-
die Funktion
preg_match,
die eine Überprüfung auf Übereinstimmung mit einem regulären Ausdruck durchführt -
die Funktion
preg_replace,
die eine Suche und Ersetzung mittels regulärem Ausdruck durchführt