Hàm array_walk_recursive() của PHP
Mô hình
Áp dụng hàm tùy chỉnh của người dùng cho từng phần tử trong mảng:
<?php function myfunction($value, $key) { echo "Giá trị của khóa $key là $value .<br>"; } $a1 = array("a" => "red", "b" => "green"); $a2 = array($a1, "1" => "blue", "2" => "yellow"); array_walk_recursive($a2,"myfunction"); ?>
Định nghĩa và cách sử dụng
Hàm array_walk_recursive() áp dụng hàm hồi gọi tùy chỉnh đối với mỗi phần tử trong mảng. Trong hàm, tên khóa và giá trị của mảng là tham số.
Hàm này tương tự như array_walk() Khác biệt của hàm là có thể thao tác với mảng sâu hơn (mảng chứa một mảng khác).
Cú pháp
array_walk_recursive(mảng,myfunction,parameter...)
Tham số | Mô tả |
---|---|
mảng | Bắt buộc. Định nghĩa mảng. |
myfunction | Bắt buộc. Tên hàm tùy chỉnh của người dùng. |
userdata,... | Tùy chọn. Định nghĩa tham số hàm tùy chỉnh. Bạn có thể truyền bất kỳ số lượng tham số nào vào hàm này. |
Giải thích
với array_walk() hàm giống nhau, hàm array_walk_recursive() áp dụng hàm hồi gọi đối với mỗi phần tử trong mảng. Khác biệt là, nếu phần tử trong mảng gốc cũng là mảng, hàm hồi gọi sẽ được gọi lại một cách đệ quy,也就是说, sẽ đệ quy đến mảng sâu hơn.
Trong trường hợp thông thường,myfunction chấp nhận hai tham số.mảng Giá trị của tham số là tham số đầu tiên, tên khóa là tham số thứ hai. Nếu cung cấp tham số tùy chọn userdata sẽ được truyền làm tham số thứ ba cho hàm hồi gọi.
Nếu hàm hồi gọi cần tác động trực tiếp đến giá trị trong mảng, có thể chỉ định tham số đầu tiên của hàm hồi gọi là tham chiếu, như vậy bất kỳ thay đổi nào đối với các đơn vị này cũng sẽ thay đổi mảng ban đầu.
Chi tiết kỹ thuật
Giá trị trả về: | Nếu thành công thì trả về TRUE, nếu không thì trả về FALSE. |
PHP phiên bản: | 5+ |