Hàm array_walk

Hàm array_walk áp dụng một hàm được chỉ định cho tất cả các phần tử của mảng. Nó 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 là một mảng, và tham số thứ hai - một callback.

Callback nhận hai tham số. 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 bị 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

phparray_walk(array|object &$array, callable $callback, mixed $arg = null): bool

Ví dụ

Hãy lặp qua một mảng và in ra các khóa và phần tử của nó:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3];
  
  array_walk($arr, function($elem, $key) {
    echo $key . ' ' . $elem . '<br>';
  });
?>

Kết quả thực thi mã:

php'a 1'
'b 2'
'c 3'

Ví dụ

Hãy lặp qua một mảng và bình phương các phần tử của nó:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3];
  
  array_walk($arr, function(&$elem, $key) {
    $elem = $elem ** 2;
  });
  
  var_dump($arr);
?>

Kết quả thực thi mã:

php['a' => 1, 'b' => 4, 'c' => 9]

Xem thêm