Thứ Sáu, 12 Tháng Tư 2024
Trang chủPHP & MysqlPHPHàm array_filter trong PHP - Lọc phần tử mảng dựa trên điều...

Hàm array_filter trong PHP – Lọc phần tử mảng dựa trên điều kiện

array_filter trong php là một trong những hàm xử lú mảng có sẵn trong PHP cho phép bạn lọc các phần tử của một mảng dựa trên một điều kiện cụ thể. Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng array_filter(), ví dụ và các trường hợp sử dụng phổ biến.

DANH SÁCH BÀI VIẾT
Hướng dẫn hàm array_reduce trong PHP - Hàm xử lý mảng PHP
Hàm array_filter trong PHP - Lọc phần tử mảng dựa trên điều kiện
Hàm array_fill trong PHP - Tạo và điền n phần tử cụ thể vào mảng
Hướng dẫn hàm array_map trong PHP - Lập trình PHP cơ bản
Hàm array_values trong PHP - Đặt lại khóa tất cả phần tử mảng

Hàm array_filter trong PHP – Cú pháp cơ bản

Hàm array_filter() trong PHP có cú pháp cơ bản như sau:

array_filter(array $array, callable $callback = null, int $flag = 0): array

Trong đó:

  • $array: Mảng ban đầu bạn muốn lọc.
  • $callback: Một hàm callback tùy chọn được sử dụng để xác định điều kiện lọc. Nếu không được cung cấp, các giá trị rỗng sẽ bị loại bỏ (0, false, ”, null).
  • $flag: Các cờ tùy chọn.

>>XEM THÊM: Hàm array_search trong PHP – Tìm kiếm phần tử mảng (trả về key)

Ví dụ sử dụng đơn giản

Hãy xem xét ví dụ đơn giản dưới đây để hiểu cách array_filter hoạt động.

Ví dụ 1: Lọc ra các phần tử giá trị không rỗng(loại bỏ các phần tử rỗng).

$data = [1, 2, 3, null, '', 0, 4];
$filteredData = array_filter($data);

// Kết quả: [1, 2, 3, 4]

Lưu ý:array_filter mặc định loại bỏ các giá trị rỗng khi không có hàm callback được cung cấp.

Ví dụ 2: Lọc trong mảng kết hợp (associative arrays) (Mảng object)

$students = [
    ['name' => 'Alice', 'age' => 25],
    ['name' => 'Bob', 'age' => 22],
    ['name' => 'Charlie', 'age' => 30],
];

$adultStudents = array_filter($students, function($student) {
    return $student['age'] >= 18;
});

// Kết quả: 
// [
//     ['name' => 'Alice', 'age' => 25],
//     ['name' => 'Bob', 'age' => 22],
//     ['name' => 'Charlie', 'age' => 30],
// ]

>>XEM THÊM: Hướng dẫn hàm array_map trong PHP – Lập trình PHP cơ bản

Ví dụ 3: Lọc các phần tử lớn hơn 10 trong mảng

<?php
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
$evenNumbers = array_filter($numbers, function ($number) {
    return $number > 10;
});

print_r($evenNumbers);

Kết quả:

Array (
  [10] => 11
  [11] => 12
  [12] => 13
  [13] => 14
  [14] => 15
  [15] => 16
)

Ví dụ 4: Lọc các phần tử là số chẵn trong mảng

<?php
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
$evenNumbers = array_filter($numbers, function ($number) {
    return $number % 2 == 0;
});

print_r($evenNumbers);

Kết quả:

Array (
 [1] => 2
 [3] => 4
 [5] => 6
 [7] => 8
 [9] => 10
 [11] => 12
 [13] => 14
 [15] => 16
)

>>XEM THÊM: Hàm array_values trong PHP – Đặt lại khóa tất cả phần tử mảng

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu cách sử dụng array_filter trong PHP để lọc mảng dựa trên các điều kiện cụ thể. Điều này giúp bạn tạo ra các mảng con chỉ chứa các phần tử mong muốn. Hy vọng rằng bạn đã hiểu rõ về cách sử dụng array_filter và có thể áp dụng nó vào thực tế.

Nếu bạn có bất kỳ câu hỏi hoặc góp ý, để lại bình luận bên dưới mọi người cùng trao đổi nhé!

[XEM TẤT CẢ BÀI VIẾT CHUYÊN MỤC HƯỚNG DẪN PHP TẠI ĐÂY]

XEM THÊM
Hàm in_array trong php – Kiểm tra giá trị có tồn tại trong mảng
Hàm array_search trong PHP – Tìm kiếm phần tử mảng (trả về key)
Hàm array_fill trong PHP – Tạo và điền n phần tử cụ thể vào mảng
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x