Συνάρτηση preg_grep

Η συνάρτηση preg_grep επιστρέφει έναν πίνακα με στοιχεία που ταιριάζουν με την καθορισμένη κανονική έκφραση. Ως πρώτη παράμετρο δέχεται μια συμβολοσειρά με την κανονική έκφραση, και ως δεύτερη - τον πίνακα για αναζήτηση. Η τρίτη προαιρετική παράμετρος καθορίζει εάν θα επιστραφούν στοιχεία που ΔΕΝ ταιριάζουν με την κανονική έκφραση.

Σύνταξη

phppreg_grep(pattern, array, [flags]);

Σημαίες

Σημαία Περιγραφή
PREG_GREP_INVERT Αντιστρέφει το αποτέλεσμα - επιστρέφει στοιχεία που ΔΕΝ ταιριάζουν με το μοτίβο.
PREG_GREP_NO_ERROR Δεν δημιουργεί σφάλμα με μη έγκυρη κανονική έκφραση (PHP 8.1+).

Παράδειγμα

Ας βρούμε όλα τα στοιχεία του πίνακα που ξεκινούν με ψηφίο:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr);
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php['2b', '4d']

Παράδειγμα

Χρησιμοποιούμε τη σημαία PREG_GREP_INVERT για λήψη στοιχείων που ΔΕΝ ταιριάζουν με την κανονική έκφραση:

php<?php
  $arr = ['a1', '2b', 'c3', '4d', 'e5'];
  $res = preg_grep('/^\d/', $arr, PREG_GREP_INVERT);
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php['a1', 'c3', 'e5']

Παράδειγμα

Ας βρούμε όλα τα στοιχεία του πίνακα που περιέχουν μόνο ψηφία:

php<?php
  $arr = ['123', 'abc', '45', 'de', '678'];
  $res = preg_grep('/^\d+$/', $arr);
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php['123', '45', '678']

Δείτε επίσης

  • τη συνάρτηση preg_match,
    που εκτελεί έλεγχο αντιστοίχισης με κανονική έκφραση
  • τη συνάρτηση preg_replace,
    που εκτελεί αναζήτηση και αντικατάσταση με κανονική έκφραση