Funktio preg_grep
Funktio preg_grep palauttaa taulukon elementeistä, jotka vastaavat annettua säännöllistä lauseketta. Ensimmäisenä parametrina funktio ottaa merkkijonon, joka sisältää säännöllisen lausekkeen, ja toisena parametrina haettavan taulukon. Kolmas valinnainen parametri määrittää, pitäisikö palauttaa elementit, jotka eivät vastaa säännöllistä lauseketta.
Syntaksi
preg_grep(pattern, array, [flags]);
Liput
| Lippu | Kuvaus |
|---|---|
PREG_GREP_INVERT |
Kääntää tuloksen - palauttaa elementit, jotka eivät vastaa mallia. |
PREG_GREP_NO_ERROR |
Ei generoi virhettä virheellisellä säännöllisellä lausekkeella (PHP 8.1+). |
Esimerkki
Etsitään kaikki taulukon elementit, jotka alkavat numerolla:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Koodin suorituksen tulos:
['2b', '4d']
Esimerkki
Käytetään PREG_GREP_INVERT -lippua saamaan elementit, jotka eivät vastaa säännöllistä lauseketta:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Koodin suorituksen tulos:
['a1', 'c3', 'e5']
Esimerkki
Etsitään kaikki taulukon elementit, jotka sisältävät vain numeroita:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Koodin suorituksen tulos:
['123', '45', '678']
Katso myös
-
funktion
preg_match,
joka suorittaa tarkistuksen säännöllisen lausekkeen mukaisuudelle -
funktion
preg_replace,
joka suorittaa haun ja korvauksen säännöllisellä lausekkeella