Hàm array_walk_recursive trong PHP là gì ?

05/08/2022 - lượt xem
Chia sẻ
 
Rate this post

Hàm array_walk_recursive() trong PHP có nhiệm vụ áp dụng một hàm callback cho mọi phần tử của mảng kết hợp cùng đệ quy.

Hàm này được sử dụng trên PHP5 và PHP7.

Cú pháp

Cú pháp hàm array_walk_recursive() trong PHP như sau:

array_walk_recursive ( 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_recursive() sẽ trả về TRUE nếu thành công và FALSE nếu thất bại.

Ví dụ minh họa với hàm callback 2 tham số

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

Và kết quả trả về sẽ là

a holds apple b holds banana sour holds lemon

Ví dụ minh họa với hàm callback 3 tham số

<?php
$sweet = array('a' => 'Apfel', 'b' => 'Banane');
$fruits = array('süß' => $sweet, 'sauer' => 'Zitrone');

function test_print($item, $key, $info)
{
    echo "$key beinhaltet $item $info\n";
}

array_walk_recursive($fruits, 'test_print', '  ... Bio');
?>
a beinhaltet Apfel ... Bio
b beinhaltet Banane ... Bio
sauer beinhaltet Zitrone ... Bio

Ứng dụng

Bạn có thể sử dụng cách sau, để mô phỏng lại hàm array_walk_recursive() 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()
  • 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_recursive() 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

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm

      Vũ Thức

      Bình luận: