ฟังก์ชัน call_user_func_array
ฟังก์ชัน call_user_func_array ช่วยให้สามารถเรียก callback โดยส่งพารามิเตอร์ในรูปของอาร์เรย์ พารามิเตอร์แรกส่งชื่อฟังก์ชันหรือเมธอด ส่วนพารามิเตอร์ที่สองคืออาร์เรย์ของอาร์กิวเมนต์
ไวยากรณ์
call_user_func_array(callable $callback, array $args);
ตัวอย่าง
เรียกฟังก์ชันง่ายๆ พร้อมส่งพารามิเตอร์ผ่านอาร์เรย์:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func_array('sum', [2, 3]);
echo $res;
?>
ผลลัพธ์การทำงานโค้ด:
5
ตัวอย่าง
เรียกเมธอดของคลาสพร้อมส่งพารามิเตอร์:
<?php
class Calculator {
public function multiply($a, $b) {
return $a * $b;
}
}
$calc = new Calculator();
$res = call_user_func_array([$calc, 'multiply'], [4, 5]);
echo $res;
?>
ผลลัพธ์การทำงานโค้ด:
20
ตัวอย่าง
การใช้งานกับฟังก์ชันแบบไม่ระบุชื่อ:
<?php
$func = function($a, $b, $c) {
return $a + $b + $c;
};
$res = call_user_func_array($func, [1, 2, 3]);
echo $res;
?>
ผลลัพธ์การทำงานโค้ด:
6
ดูเพิ่มเติม
-
ฟังก์ชัน
call_user_func,
ซึ่งเรียก callback function ด้วยอาร์กิวเมนต์แยก -
ฟังก์ชัน
function_exists,
ซึ่งตรวจสอบการมีอยู่ของฟังก์ชัน