Hàm array_reduce trong PHP có nhiệm vụ thực hiện các thao tác xử lý trong hàm callback với $mảng được truyền vào. Hàm này tương thích với PHP 4, PHP 5, PHP 7.
Cú pháp hàm array_reduce trong PHP
array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed
Hàm array_reduce có giá trị truyền vào là một mảng $array, tham số $callback là hàm callback bạn muốn gọi tới, $initial là tham số muốn chèn thêm vào mảng ban đầu. Hàm này sẽ trả về kết quả tùy vào hàm callblack.
<?php function sum($carry, $item) { $carry += $item; return $carry; } function product($carry, $item) { $carry *= $item; return $carry; } $a = array(1, 2, 3, 4, 5); $x = array(); var_dump(array_reduce($a, "sum")); var_dump(array_reduce($a, "product", 10)); var_dump(array_reduce($x, "sum", "No data to reduce")); ?>
Và kết quả trả về sẽ là
int(15) Vì 1+2+3+4+5 int(1200) Vì 10 * 1 * 2 * 3 * 4 * 5 = 1200 string(17) "No data to reduce" // Vì $mảng truyền vào là rỗng
Một ví dụ về ứng dụng hàm array_reduce trong việc callback
<?php $two_dimensional = array(); $two_dimensional['foo'] = array(1, 2, 3); $two_dimensional['bar'] = array(4, 5, 6); $one_dimensional = array_reduce($two_dimensional, 'array_merge', array(6)); var_dump($one_dimensional); ?>
Trong ví dụ này hàm array_reduce đã callback tới hàm array_merge của PHP và gộp các bản ghi trong mảng $two_dimensional và mảng $array(6) rỗng lại với nhau.
array(7) { [0]=> int(6) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) [5]=> int(5) [6]=> int(6) }
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm array_reduce trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Bình luận: