Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ฟังก์ชัน array_map() ใน PHP


ฟังก์ชัน 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 ) )