Hàm array_map() áp dụng hàm callback cho từng giá trị của mảng (hoặc nhiều mảng) và trả về mảng mới chứa các kết quả. Không thay đổi mảng gốc.
Cú pháp
array_map(callback, array1, array2, array3, ...)
Tham số
callback – Hàm xử lý. Nếu truyền null, hàm sẽ tạo mảng các mảng con từ các mảng đầu vào (transpose).
array1 – Mảng chính. Bắt buộc.
array2, array3, ... – Các mảng bổ sung. Tùy chọn.
Giá trị trả về
Trả về mảng mới chứa kết quả áp dụng callback cho từng phần tử.
Ví dụ 1: Áp dụng hàm bình phương
<?php
function square($n) {
return ($n * $n);
}
$arr = array(1, 2, 3);
$res = array_map("square", $arr);
print_r($res);
?>
Kết quả
Array ( [0] => 1 [1] => 4 [2] => 9 )
Ví dụ 2: Tạo mảng các mảng con (transpose) với callback = null
<?php
$arr1 = array(1, 2, 3);
$arr2 = array("steve", "david", "nadal");
$arr3 = array("cricket", "football", "tennis");
$res = array_map(null, $arr1, $arr2, $arr3);
print_r($res);
?>
Kết quả
Array ( [0] => Array ( [0] => 1 [1] => steve [2] => cricket ) [1] => Array ( [0] => 2 [1] => david [2] => football ) [2] => Array ( [0] => 3 [1] => nadal [2] => tennis ) )