Funkce preg_grep
Funkce preg_grep vrací pole prvků, které odpovídají zadanému regulárnímu výrazu. Prvním parametrem funkce přijímá řetězec s regulárním výrazem a druhým - pole pro vyhledávání. Třetí volitelný parametr určuje, zda se mají vracet prvky, které neodpovídají regulárnímu výrazu.
Syntaxe
preg_grep(pattern, array, [flags]);
Příznaky
| Příznak | Popis |
|---|---|
PREG_GREP_INVERT |
Invertuje výsledek - vrací prvky, které NEodpovídají vzoru. |
PREG_GREP_NO_ERROR |
Negeneruje chybu při neplatném regulárním výrazu (PHP 8.1+). |
Příklad
Najdeme všechny prvky pole, které začínají číslicí:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Výsledek provedení kódu:
['2b', '4d']
Příklad
Použijeme příznak PREG_GREP_INVERT pro získání prvků, které NEodpovídají regulárnímu výrazu:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Výsledek provedení kódu:
['a1', 'c3', 'e5']
Příklad
Najdeme všechny prvky pole, obsahující pouze číslice:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Výsledek provedení kódu:
['123', '45', '678']
Viz také
-
funkci
preg_match,
která provádí kontrolu shody s regulárním výrazem -
funkci
preg_replace,
která provádí vyhledávání a nahrazování podle regulárního výrazu