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
preg_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
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['2b', '4d']
Örnek
Düzenli ifadeyle eşleşmeyen elemanları almak için PREG_GREP_INVERT bayrağını kullanalım:
<?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:
['a1', 'c3', 'e5']
Örnek
Dizide sadece rakamlardan oluşan tüm elemanları bulalım:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
['123', '45', '678']
Ayrıca Bakınız
-
preg_matchfonksiyonu,
bir dizenin düzenli ifadeyle eşleşip eşleşmediğini kontrol eder -
preg_replacefonksiyonu,
düzenli ifadeye göre arama ve değiştirme yapar