preg_grep

funkcja

Filtruje tablicę, zwracając tylko te elementy, które pasują do wzorca wyrażenia regularnego. Zachowuje oryginalne klucze tablicy.

preg_grep(string $pattern, array $array, int $flags = 0): array|false

preg_grep to połączenie filtrowania tablicy z wyrażeniami regularnymi. Każdy element tablicy $array jest konwertowany do ciągu znaków i sprawdzany wzorcem $pattern — elementy pasujące trafiają do wyniku wraz z oryginalnymi kluczami. To ważne: indeksy z wejściowej tablicy są zachowane, co ułatwia późniejsze odwołanie się do kontekstu.

Flaga PREG_GREP_INVERT odwraca zachowanie — zwracane są elementy niepasujące do wzorca. Funkcja zwraca false tylko przy błędzie samego wzorca.

<?php
declare(strict_types=1);

$adresy = ['[email protected]', 'nie-email', '[email protected]', 'błędny'];
$poprawne = preg_grep('/@/', $adresy);
print_r($poprawne);
// wynik:
// Array
// (
//     [0] => [email protected]
//     [2] => [email protected]
// )
📘 Naucz się w lekcji →