Funkcija preg_grep

Funkcija preg_grep atgriež to elementu masīvu, kas atbilst dotajai regulārajai izteiksmei. Pirmā parametrā funkcija pieņem virkni ar regulāro izteiksmi, bet otrajā - meklēšanai izmantojamo masīvu. Trešais neobligātais parametrs nosaka, vai atgriezt tos elementus, kas neatbilst regulārajai izteiksmei.

Sintakse

phppreg_grep(pattern, array, [flags]);

Karogi

Karogs Apraksts
PREG_GREP_INVERT Invertē rezultātu - atgriež tos elementus, kas NEatbilst šablonam.
PREG_GREP_NO_ERROR Negenerē kļūdu, ja regulārā izteiksme ir nekorekta (PHP 8.1+).

Piemērs

Atradīsim visus masīva elementus, kas sākas ar ciparu:

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

Koda izpildes rezultāts:

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

Piemērs

Izmantosim karogu PREG_GREP_INVERT, lai iegūtu tos elementus, kas NEatbilst regulārajai izteiksmei:

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

Koda izpildes rezultāts:

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

Piemērs

Atradīsim visus masīva elementus, kas satur tikai ciparus:

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

Koda izpildes rezultāts:

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

Skatiet arī

  • funkciju preg_match,
    kas veic atbilstības pārbaudi regulārajai izteiksmei
  • funkciju preg_replace,
    kas veic meklēšanu un aizvietošanu ar regulāro izteiksmi