Hàm array_walk_recursive
Hàm array_walk_recursive áp dụng một hàm được chỉ định
cho tất cả các phần tử của một mảng đa chiều.
Trả về true nếu hoàn thành thành công
hoặc false nếu xảy ra lỗi.
Tham số đầu tiên của hàm
nhận một mảng, và tham số thứ hai - một callback.
Hai tham số được truyền vào callback. Tham số đầu tiên là giá trị của phần tử mảng, và tham số thứ hai - khóa.
Mảng được truyền vào hàm tự nó không thay đổi. Nhưng điều này có thể đạt được bằng cách truyền phần tử theo tham chiếu.
Cú pháp
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
Ví dụ
Hãy duyệt qua một mảng đa chiều và in ra các khóa và phần tử của nó:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function($elem, $key) {
echo $key . ' ' . $elem . '<br>';
});
?>
Kết quả thực thi mã:
'a 1'
'b 2'
'd 3'
'e 4'
Ví dụ
Hãy duyệt qua mảng và bình phương các phần tử của nó:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function(&$elem, $key) {
$elem = $elem ** 2;
});
var_dump($arr);
?>
Kết quả thực thi mã:
[
'a' => 1,
'b' => 4,
'c' => [
'd' => 9,
'e' => 16,
],
];
Xem thêm
-
hàm
array_walk,
gọi một hàm cho các phần tử của mảng -
hàm
array_map,
áp dụng một hàm cho các phần tử của mảng -
hàm
array_filter,
lọc một mảng -
hàm
array_reduce,
gộp (reduce) một mảng