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

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

Koodin suorituksen tulos:

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

Esimerkki

Käytetään PREG_GREP_INVERT -lippua saamaan elementit, jotka eivät vastaa säännöllistä lauseketta:

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

Koodin suorituksen tulos:

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

Esimerkki

Etsitään kaikki taulukon elementit, jotka sisältävät vain numeroita:

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

Koodin suorituksen tulos:

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