Funktsioon preg_grep

Funktsioon preg_grep tagastab massiivi elementidest need, mis vastavad määratud regulaaravaldisele. Esimese parameetrina võtab funktsioon stringi regulaaravaldisega ja teise parameetrina - otsitava massiivi. Kolmas valikuline parameeter määrab, kas tagastada elemendid, mis EI vasta regulaaravaldisele.

Süntaks

phppreg_grep(pattern, array, [flags]);

Lipud

Lipp Kirjeldus
PREG_GREP_INVERT Pöörab tulemuse ümber - tagastab elemendid, mis EI vasta mustrile.
PREG_GREP_NO_ERROR Ei genereeri viga ebakorrektse regulaaravaldise korral (PHP 8.1+).

Näide

Leiame kõik massiivi elemendid, mis algavad numbriga:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr);
  var_dump($res);
?>

Koodi täitmise tulemus:

php['2b', '4d']

Näide

Kasutame lippu PREG_GREP_INVERT elementide saamiseks, mis EI vasta regulaaravaldisele:

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

Koodi täitmise tulemus:

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

Näide

Leiame kõik massiivi elemendid, mis sisaldavad ainult numbreid:

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

Koodi täitmise tulemus:

php['123', '45', '678']

Vaata ka

  • funktsiooni preg_match,
    mis teostab kontrolli regulaaravaldisele vastavuse osas
  • funktsiooni preg_replace,
    mis teostab otsimise ja asendamise regulaaravaldise alusel