preg_grep Fonksiyonu

preg_grep fonksiyonu, belirtilen düzenli ifadeyle eşleşen dizi elemanlarını döndürür. İlk parametre olarak düzenli ifadeyi içeren bir dizi alır, ikinci parametre olarak ise arama yapılacak diziyi alır. Üçüncü isteğe bağlı parametre, düzenli ifadeyle eşleşmeyen elemanların döndürülüp döndürülmeyeceğini belirler.

Sözdizimi

phppreg_grep(pattern, array, [flags]);

Bayraklar

Bayrak Açıklama
PREG_GREP_INVERT Sonucu tersine çevirir - şablonla eşleşmeyen elemanları döndürür.
PREG_GREP_NO_ERROR Geçersiz düzenli ifade durumunda hata oluşturmaz (PHP 8.1+).

Örnek

Dizide rakamla başlayan tüm elemanları bulalım:

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

Kodun çalıştırılmasının sonucu:

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

Örnek

Düzenli ifadeyle eşleşmeyen elemanları almak için PREG_GREP_INVERT bayrağını kullanalım:

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

Kodun çalıştırılmasının sonucu:

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

Örnek

Dizide sadece rakamlardan oluşan tüm elemanları bulalım:

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

Kodun çalıştırılmasının sonucu:

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

Ayrıca Bakınız

  • preg_match fonksiyonu,
    bir dizenin düzenli ifadeyle eşleşip eşleşmediğini kontrol eder
  • preg_replace fonksiyonu,
    düzenli ifadeye göre arama ve değiştirme yapar