Funktionen preg_grep

Funktionen preg_grep returnerer et array med elementer, der matcher det angivne regulære udtryk. Den første parameter tager funktionen en streng med det regulære udtryk, og den anden - arrayet til søgning. Den tredje valgfrie parameter bestemmer, om elementer, der ikke matcher det regulære udtryk, skal returneres.

Syntaks

phppreg_grep(pattern, array, [flags]);

Flag

Flag Beskrivelse
PREG_GREP_INVERT Inverterer resultatet - returnerer elementer, som IKKE matcher mønsteret.
PREG_GREP_NO_ERROR Genererer ikke en fejl ved forkert regulært udtryk (PHP 8.1+).

Eksempel

Lad os finde alle elementer i arrayet, der starter med et tal:

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

Resultat af kodeudførelse:

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

Eksempel

Brug flaget PREG_GREP_INVERT til at få elementer, der IKKE matcher det regulære udtryk:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os finde alle elementer i arrayet, der kun indeholder tal:

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

Resultat af kodeudførelse:

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

Se også

  • funktionen preg_match,
    som udfører kontrol for overensstemmelse med et regulært udtryk
  • funktionen preg_replace,
    som udfører søgning og erstatning med et regulært udtryk