Hàm array_walk() trong PHP

Ví dụ

Áp dụng hàm tùy chỉnh cho mỗi phần tử trong mảng:

<?php
function myfunction($value,$key)
{
echo "Chìa khóa $key có giá trị $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
?>

Chạy ví dụ

Định nghĩa và cách sử dụng

Hàm array_walk() áp dụng hàm tùy chỉnh cho mỗi phần tử trong mảng. Trong hàm, tên khóa và giá trị khóa của mảng là tham số.

Ghi chú:Bạn có thể thay đổi giá trị của phần tử mảng bằng cách chỉ định tham số đầu tiên của hàm tùy chỉnh là tham chiếu: &$value (xem ví dụ 2).

Lưu ý:Nếu cần thao tác với mảng sâu hơn (một mảng chứa một mảng khác), hãy sử dụng array_walk_recursive() hàm.

Cú pháp

array_walk(mảng,myfunction,userdata...)
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

hàm array_walk() áp dụng hàm callback cho mỗi phần tử trong mảng. Nếu thành công thì trả về TRUE, ngược lại trả về FALSE.

Trong trường hợp thông thường myfunction nhận hai tham số.mảng Giá trị của tham số là thứ nhất, tên khóa là thứ hai. Nếu cung cấp các tham số tùy chọn userdata Sẽ được truyền làm tham số thứ ba vào hàm回调.

Nếu myfunction Nếu số lượng tham số cần thiết của hàm nhiều hơn số lượng tham số được cung cấp, mỗi lần gọi array_walk() sẽ myfunction Mỗi khi gọi array_walk() sẽ tạo ra một lỗi mức E_WARNING. Các cảnh báo này có thể được ngăn chặn bằng cách thêm toán tử lỗi của PHP @ trước khi gọi array_walk() hoặc bằng error_reporting().

Ghi chú:Nếu hàm gọi lại cần tác động trực tiếp đến giá trị trong mảng, có thể đặt tham số đầu tiên của hàm gọi lại là tham chiếu: &$value. (Xem ví dụ 3)

Ghi chú:Đặt tên và userdata Truyền vào myfunction Trong đó là hàm mới được thêm vào PHP 4.0.

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.
Phiên bản PHP: 4+

Thêm ví dụ

Ví dụ 1

Đặt một tham số:

<?php
function myfunction($value,$key,$p)
{
echo "$key $p $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","has the value");
?>

Chạy ví dụ

Ví dụ 2

Thay đổi giá trị của một phần tử mảng (lưu ý &$value):

<?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
?>

Chạy ví dụ