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
preg_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
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Koodi täitmise tulemus:
['2b', '4d']
Näide
Kasutame lippu PREG_GREP_INVERT elementide saamiseks, mis EI vasta regulaaravaldisele:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Koodi täitmise tulemus:
['a1', 'c3', 'e5']
Näide
Leiame kõik massiivi elemendid, mis sisaldavad ainult numbreid:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Koodi täitmise tulemus:
['123', '45', '678']
Vaata ka
-
funktsiooni
preg_match,
mis teostab kontrolli regulaaravaldisele vastavuse osas -
funktsiooni
preg_replace,
mis teostab otsimise ja asendamise regulaaravaldise alusel