ฟังก์ชัน call_user_func

ฟังก์ชัน call_user_func ช่วยให้สามารถเรียกใช้ callable function ใดๆ โดยส่งอาร์กิวเมนต์ให้กับมันได้ พารามิเตอร์แรกรับชื่อฟังก์ชันหรือ anonymous function พารามิเตอร์ถัดไปคืออาร์กิวเมนต์สำหรับฟังก์ชันที่จะถูกเรียก

ไวยากรณ์

phpcall_user_func(callable $callback, mixed ...$args): mixed

ตัวอย่าง

ลองเรียกฟังก์ชันมาตรฐาน strtoupper สำหรับสตริง 'hello':

php<?php
  $res = call_user_func('strtoupper', 'hello');
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php'HELLO'

ตัวอย่าง

ลองเรียกฟังก์ชันของผู้ใช้ที่มีหลายอาร์กิวเมนต์:

php<?php
  function sum($a, $b) {
    return $a + $b;
  }
  
  $res = call_user_func('sum', 5, 3);
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php8

ตัวอย่าง

การใช้ anonymous function เป็น callback:

php<?php
  $res = call_user_func(function($name) {
    return "Hello, $name!";
  }, 'John');
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php'Hello, John!'

ดูเพิ่มเติม

  • ฟังก์ชัน call_user_func_array,
    ซึ่งเรียก callback function ด้วยอาร์เรย์ของพารามิเตอร์
  • ฟังก์ชัน function_exists,
    ซึ่งตรวจสอบการมีอยู่ของฟังก์ชัน