Preg_grep funksiýasy
preg_grep funksiýasy, görkezilen regulýar ifade bilen gabat gelýän massiw elementlerini gaýtaryp berýär. Funksiýa birinji parametr hökmünde regulýar ifadeli setiri, ikinji parametr hökmünde bolsa gözlemek üçin massiw kabul edýär. Üçünji hökmany däl parametr, regulýar ifade bilen gabat gelmeýän elementleri gaýtarmaly ýa-da ýokdugyny kesgitleýär.
Sintaksis
preg_grep(pattern, array, [flags]);
Flaglary
| Flag | Düşündiriş |
|---|---|
PREG_GREP_INVERT |
Netijäni tertibe salýar - şablona gabat gelmeýän elementleri gaýtarýar. |
PREG_GREP_NO_ERROR |
Nädogry regulýar ifadede ýalňyşlyk döretmeýär (PHP 8.1+). |
Mysal
Massiwdäki san bilen başlaýan ähli elementleri tapalyň:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Kody ýerine ýetirmegiň netijesi:
['2b', '4d']
Mysal
Regulýar ifade bilen gabat gelmeýän elementleri almak üçin PREG_GREP_INVERT flag-yny ulanalyň:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Kody ýerine ýetirmegiň netijesi:
['a1', 'c3', 'e5']
Mysal
Massiwdäki diňe sanlardan ybarat bolan ähli elementleri tapalyň:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Kody ýerine ýetirmegiň netijesi:
['123', '45', '678']
Şeýle-de göz aýlaň
-
preg_matchfunksiýasyna,
regulýar ifade bilen gabat gelmezligi barlap görýän -
preg_replacefunksiýasyna,
regulýar ifade boýunça gözlemek we çalyşmak amallaryny ýerine ýetirýän