Ce face preg_grep
preg_grep filtrează un tablou de texte după un șablon. Este o scurtătură pentru array_filter cu preg_match.
Cheile originale se păstrează. Cu PREG_GREP_INVERT obții elementele care nu se potrivesc.
Parametri
| Parametru | Descriere |
|---|---|
$pattern |
Expresia regulată. |
$array |
Tabloul de texte filtrat. |
$flags |
Opțional. PREG_GREP_INVERT pentru elementele care nu se potrivesc. |
Ce returnează
Un tablou cu elementele potrivite, cu cheile originale.
Exemple
Exemplul 1: Doar imaginile dintr-o listă de fișiere
<?php
$fisiere = ["cv.pdf", "poza.JPG", "logo.png", "notite.txt", "banner.webp"];
print_r(preg_grep('/\.(jpe?g|png|webp)$/i', $fisiere));
Rezultat
Array
(
[1] => poza.JPG
[2] => logo.png
[4] => banner.webp
)
Exemplul 2: Elementele care nu se potrivesc
<?php
$telefoane = ["0742123456", "07421", "0232210500", "abc"];
print_r(array_values(preg_grep('/^0\d{9}$/', $telefoane, PREG_GREP_INVERT)));
Rezultat
Array
(
[0] => 07421
[1] => abc
)
Greșeli frecvente
- Te miri că cheile rezultatului sunt 1, 2, 4.
preg_greppăstrează cheile: adaugăarray_values.
Comenzi înrudite
array_filter: Păstrează doar elementele dintr-un tablou care îndeplinesc o condiție.preg_match: Verifică dacă un text se potrivește cu o expresie regulată și extrage prima potrivire.in_array: Verifică dacă o valoare se află într-un tablou.