Hàm array_walk() trong PHP có nhiệm vụ áp dụng một hàm callback cho mọi phần tử của mảng.
Hàm này được sử dụng trên PHP4, PHP5 và PHP7.
Cú pháp
Cú pháp hàm array_walk() trong PHP như sau:
array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool
Tham số truyền vào
- $array là mảng được truyền vào.
- $callback là hàm callback được gọi tới.
- $userdata là tham số thứ 3 được truyền vào callback
Giá trị trả về
Hàm array_walk() sẽ trả về TRUE.
Ví dụ minh họa với hàm callback 2 tham số
<?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_print($item2, $key) { echo "$key. $item2<br />\n"; } echo "Before ...:\n"; array_walk($fruits, 'test_print'); ?>
Và kết quả trả về sẽ là
Before ...: d. lemon a. orange b. banana c. apple
Ví dụ 2 khi sử dụng array_walk callback 3 tham số
<?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:\n"; ?>
... and after: d. fruit: lemon a. fruit: orange b. fruit: banana c. fruit: apple
Ứng dụng
Bạn có thể sử dụng cách sau, để mô phỏng lại hàm array_walk khi có 3 tham số.
<?php function array_sort($arr){ if(empty($arr)) return $arr; foreach($arr as $k => $a){ if(!is_array($a)){ arsort($arr); // could be any kind of sort return $arr; }else{ $arr[$k] = array_sort($a); } // We can make that with this simple FOREACH loop : $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); foreach($fruits as $cls => $vls) { $fruits[$cls] = "fruit: ".$vls; } Results: Array ( [d] => fruit: lemon [a] => fruit: orange [b] => fruit: banana [c] => fruit: apple )
Các hàm liên quan
- Hàm array_walk_recursive()
- Hàm iterator_apply().
- Hàm list() .
- Hàm each()
- Hàm call_user_func_array()
- Hàm array_map()
Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm array_walk() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé.
Cảm ơn bạn đã ghé thăm codetutam.com