Preg_grep функциясы
preg_grep функциясы берілген регулярды өрнекке сәйкес келетін массив элементтерін қайтарады. Функция бірінші параметр ретінде регулярды өрнекті қабылдайды, ал екінші параметр ретінде іздеу үшін массив қабылдайды. Үшінші міндетті емес параметр регулярды өрнекке сәйкес келмейтін элементтерді қайтару керек пе-жоқтың анықтайды.
Синтаксис
preg_grep(pattern, array, [flags]);
Флагтер
| Флаг | Сипаттама |
|---|---|
PREG_GREP_INVERT |
Нәтижені инверттейді - үлгіге сәйкес КЕЛМЕЙТІН элементтерді қайтарады. |
PREG_GREP_NO_ERROR |
Регулярды өрнек дұрыс емес кезде қате туғызбайды (PHP 8.1+). |
Мысал
Саннан басталатын массивтің барлық элементтерін табайық:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr);
var_dump($res);
?>
Кодты орындау нәтижесі:
['2b', '4d']
Мысал
Регулярды өрнекке сәйкес КЕЛМЕЙТІН элементтерді алу үшін PREG_GREP_INVERT флагін қолданайық:
<?php
$arr = ['a1', '2b', 'c3', '4d', 'e5'];
$res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
var_dump($res);
?>
Кодты орындау нәтижесі:
['a1', 'c3', 'e5']
Мысал
Тек сандардан тұратын массивтің барлық элементтерін табайық:
<?php
$arr = ['123', 'abc', '45', 'de', '678'];
$res = preg_grep('/^\d+$/', $arr);
var_dump($res);
?>
Кодты орындау нәтижесі:
['123', '45', '678']
Сондай-ақ қараңыз
-
preg_matchфункциясын,
ол регулярды өрнекке сәйкестікті тексеруді орындайды -
preg_replaceфункциясын,
ол регулярды өрнек бойынша іздеу және ауыстыруды орындайды