Array map, array filter, array reduce

1. Array map:

array_map trả về 1 mảng với các phần tử đã được xử lý qua hàm callback.

Ví dụ: tạo 1 mảng có giá trị gấp đôi mảng có sẵn:

$x2Array = array_map(function($value) {
    return $value * 2;
}, $array);

2. Array filter:

array_filter lọc mảng qua 1 hàm callback (hàm này trả về giá trị boolean).

Ví dụ: lọc các số lẻ từ mảng:

$oddArray = array_filter($array, function($value) {
    return $value % 2 != 0;
});

Sử dụng thêm tham số ARRAY_FILTER_USE_BOTH nếu muốn xử lý cả key. Ví dụ:

$array = [
    'first' => 'Nhan',
    'last' => 'Nguyen',
    'password' => 'AwzJ2c',
    'email' => '',
    'address' => ''
];

$filtered = array_filter($array, function($key, $value) {
    return !empty($value) && $key !== 'password';
}, ARRAY_FILTER_USE_BOTH);

// ['first' => 'Nhan', 'last' => 'Nguyen']

3. Array reduce:

array_reduce trả về 1 giá trị duy nhất từ 1 array, thông qua hàm callback.

Ví dụ: tính tổng các số lẻ trong array:

$oddSum = array_reduce($array, function($carry, $value) {
    return $carry + ($value % 2 == 1 ? $value : 0 );
});

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *