Hàm array_reduce() giảm mảng thành một giá trị đơn lẻ bằng cách áp dụng hàm callback lặp lại qua các phần tử. Thường dùng để tính tổng, tích, nối chuỗi, v.v.
Cú pháp
array_reduce(array, callback, initial)
Tham số
array – Mảng đầu vào. Bắt buộc.
callback – Hàm xử lý. Nhận 2 tham số: accumulator (giá trị tích lũy) và current value (giá trị hiện tại). Bắt buộc.
initial – Giá trị khởi tạo cho accumulator. Tùy chọn.
Giá trị trả về
Trả về giá trị kết quả sau khi reduce. Trả về NULL nếu mảng rỗng và không có initial.
Ví dụ 1: Nối chuỗi với initial
<?php
function display($a1, $a2) {
return $a1 . " DEMO " . $a2;
}
$a = array("One", "Two");
print_r(array_reduce($a, "display", 2));
?>
Kết quả
2 DEMO One DEMO Two
Ví dụ 2: Tính tổng với initial
<?php
function display($a1, $a2) {
return $a1 + $a2;
}
$arr = array(50, 100, 150, 200, 250);
print_r(array_reduce($arr, "display", 500));
?>
Kết quả
1250