Funksjonen preg_grep

Funksjonen preg_grep returnerer en array med elementer som matcher det angitte regulære uttrykket. Den første parameteren tar funksjonen imot en streng med det regulære uttrykket, og den andre - arrayen som skal søkes i. Den tredje valgfrie parameteren bestemmer om elementer som ikke matcher det regulære uttrykket skal returneres.

Syntaks

phppreg_grep(pattern, array, [flags]);

Flagg

Flagg Beskrivelse
PREG_GREP_INVERT Inverterer resultatet - returnerer elementer som IKKE matcher mønsteret.
PREG_GREP_NO_ERROR Genererer ikke en feil ved ugyldig regulært uttrykk (PHP 8.1+).

Eksempel

La oss finne alle elementene i arrayen som starter med et tall:

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

Resultat av kjøring av koden:

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

Eksempel

Bruker flagget PREG_GREP_INVERT for å få elementer som IKKE matcher det regulære uttrykket:

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

Resultat av kjøring av koden:

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

Eksempel

La oss finne alle elementene i arrayen som kun inneholder tall:

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

Resultat av kjøring av koden:

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

Se også

  • funksjonen preg_match,
    som utfører sjekk for samsvar med regulært uttrykk
  • funksjonen preg_replace,
    som utfører søk og erstatning med regulært uttrykk