ฟังก์ชัน array_map() ใช้เรียกฟังก์ชัน callback กับ ทุกค่าในอาร์เรย์ และส่งคืนอาร์เรย์ใหม่ที่มีค่าผลลัพธ์จากการประมวลผล สามารถใช้กับหลายอาร์เรย์พร้อมกันได้
ไวยากรณ์ (Syntax)
array_map(callback, arr1, arr2, arr3, ...)
พารามิเตอร์ (Parameters)
callback − ฟังก์ชัน callback ที่จะนำไปประมวลผลกับแต่ละค่า
arr1 − อาร์เรย์หลักที่ต้องการประมวลผล
arr2, arr3, ... − อาร์เรย์เพิ่มเติม (ตัวเลือก) จะส่งค่าของแต่ละอาร์เรย์เข้า callback พร้อมกัน
ค่าที่ส่งคืน (Return Value)
ส่งคืนอาร์เรย์ที่มีค่าผลลัพธ์จากการเรียก callback กับแต่ละค่า
ตัวอย่างการใช้งาน
ตัวอย่างที่ 1: ใช้ callback กับอาร์เรย์เดียว (ยกกำลังสอง)
<?php
function square($n) {
return ($n * $n);
}
$arr = array(1, 2, 3);
$res = array_map("square", $arr);
print_r($res);
?>
ผลลัพธ์
Array ( [0] => 1 [1] => 4 [2] => 9 )
ตัวอย่างที่ 2: ใช้ callback เป็น null เพื่อสร้างอาร์เรย์ของอาร์เรย์ (transpose)
<?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);
?>
ผลลัพธ์
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 ) )