Hàm preg_grep

Hàm preg_grep trả về một mảng các phần tử khớp với biểu thức chính quy đã cho. Tham số đầu tiên hàm nhận một chuỗi chứa biểu thức chính quy, và tham số thứ hai - mảng để tìm kiếm. Tham số thứ ba không bắt buộc xác định liệu có nên trả về các phần tử không khớp với biểu thức chính quy hay không.

Cú pháp

phppreg_grep(pattern, array, [flags]);

Cờ

Cờ Mô tả
PREG_GREP_INVERT Đảo ngược kết quả - trả về các phần tử KHÔNG khớp với mẫu.
PREG_GREP_NO_ERROR Không tạo lỗi khi biểu thức chính quy không chính xác (PHP 8.1+).

Ví dụ

Tìm tất cả các phần tử của mảng bắt đầu bằng chữ số:

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

Kết quả thực thi mã:

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

Ví dụ

Sử dụng cờ PREG_GREP_INVERT để lấy các phần tử KHÔNG khớp với biểu thức chính quy:

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

Kết quả thực thi mã:

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

Ví dụ

Tìm tất cả các phần tử của mảng chỉ chứa chữ số:

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

Kết quả thực thi mã:

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

Xem thêm

  • hàm preg_match,
    thực hiện kiểm tra khớp với biểu thức chính quy
  • hàm preg_replace,
    thực hiện tìm kiếm và thay thế theo biểu thức chính quy