Cách ánh xạ, lọc và rút gọn trong PHP với các ví dụ

Ánh xạ, lọc và rút gọn là các thao tác phổ biến trong nhiều ngôn ngữ lập trình, bao gồm cả PHP. Các hoạt động này cho phép bạn chuyển đổi, lọc và kết hợp dữ liệu theo nhiều cách khác nhau

Dưới đây là một số ví dụ về cách thực hiện các thao tác này trong PHP

#### Ánh xạ

Ánh xạ cho phép bạn chuyển đổi từng phần tử trong một bộ sưu tập, chẳng hạn như một mảng, thành một giá trị mới. Ví dụ: bạn có thể sử dụng ánh xạ để bình phương từng phần tử trong một mảng số

php
// Define the array of numbers
$numbers = [1, 2, 3, 4, 5];

// Use the array_map() function to square each element $squaredNumbers = array_map(function($n) { return $n * $n; }, $numbers);

// The resulting array should be [1, 4, 9, 16, 25] print_r($squaredNumbers);

#### Lọc

Tính năng lọc cho phép bạn xóa các phần tử khỏi bộ sưu tập không phù hợp với các tiêu chí nhất định. Ví dụ: bạn có thể sử dụng tính năng lọc để loại bỏ tất cả các số lẻ khỏi một dãy số

php
// Define the array of numbers
$numbers = [1, 2, 3, 4, 5];

// Use the array_filter() function to remove odd numbers $evenNumbers = array_filter($numbers, function($n) { return $n % 2 === 0; });

// The resulting array should be [2, 4] print_r($evenNumbers);

#### Giảm

Giảm cho phép bạn kết hợp các phần tử trong bộ sưu tập thành một giá trị duy nhất. Ví dụ: bạn có thể sử dụng rút gọn để tính tổng tất cả các phần tử trong một mảng số

php
// Define the array of numbers
$numbers = [1, 2, 3, 4, 5];

// Use the array_reduce() function to sum the numbers $sum = array_reduce($numbers, function($carry, $n) { return $carry + $n; }, 0);

// The resulting sum should be 15 echo $sum;

Đây chỉ là một số ví dụ cơ bản về cách sử dụng ánh xạ, lọc và rút gọn trong PHP. Có nhiều cách khác mà các thao tác này có thể được sử dụng để thao tác và chuyển đổi dữ liệu

Với sự trợ giúp của bài viết này, chúng tôi sẽ giải quyết vấn đề liên quan đến cấu hình của chương trình Cách ánh xạ, lọc và rút gọn trong PHP bằng các ví dụ that many of you are concerned about

Cách ánh xạ, lọc và rút gọn trong PHP bằng các ví dụ - Ánh xạ, lọc và rút gọn trong PHP
function getNames(array $users, $excludeId)
{
    $filtered = array_filter($users, function ($u) use ($excludeId) {
        return $u['id'] != $excludeId;
    });

    return array_map(function ($u) { return $u['name']; }, $filtered);
}

Các ví dụ khác xoay quanh chủ đề Cách ánh xạ, lọc và rút gọn trong PHP với các ví dụ được nhiều người quan tâm

filter() map() và reduce() là gì?

Các hàm map(), filter() và reduce() đều làm giống nhau. Mỗi hàm nhận một hàm và một danh sách các phần tử, sau đó trả về kết quả của việc áp dụng hàm cho từng phần tử trong danh sách . Như đã nêu trước đây, Python có các hàm tích hợp sẵn như map(), filter() và reduce().

Sự khác biệt giữa bộ lọc và giảm bản đồ là gì?

Hàm reduce() của Python không trả về một chuỗi mới như map() và filter(). Thay vào đó, nó trả về một giá trị duy nhất . Cú pháp tương tự như hai hàm còn lại. reduce() áp dụng hàm cho các phần tử của dãy, từ trái sang phải, bắt đầu với hai phần tử đầu tiên của dãy.

Làm sao. bản đồ hoặc. giảm phương pháp mảng có thể hữu ích?

map → Thực thi một hàm trên từng phần tử của một mảng. Mỗi phần tử của mảng được chuyển đến hàm gọi lại và trả về một mảng mới có cùng độ dài. .
lọc → Xóa các mục không thỏa mãn điều kiện. .
Giảm → Tạo một giá trị duy nhất từ ​​​​các phần tử của Mảng

Sự khác biệt giữa giảm và bản đồ là gì?

Nói chung "map" có nghĩa là chuyển đổi một loạt đầu vào thành một chuỗi đầu ra có độ dài bằng nhau trong khi "giảm" có nghĩa là chuyển đổi một loạt đầu vào thành số lượng đầu ra nhỏ hơn.