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

phppreg_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<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr);
  var_dump($res);
?>

Výsledek provedení kódu:

php['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<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
  var_dump($res);
?>

Výsledek provedení kódu:

php['a1', 'c3', 'e5']

Příklad

Najdeme všechny prvky pole, obsahující pouze číslice:

php<?php
  $arr = ['123', 'abc', '45', 'de', '678'];
  $res = preg_grep('/^\d+$/', $arr);
  var_dump($res);
?>

Výsledek provedení kódu:

php['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