Hàm call_user_func_array

Hàm call_user_func_array cho phép gọi một callback, truyền các tham số dưới dạng mảng. Tham số đầu tiên là tên hàm hoặc phương thức, tham số thứ hai là mảng các đối số.

Cú pháp

phpcall_user_func_array(callable $callback, array $args);

Ví dụ

Gọi một hàm đơn giản với việc truyền tham số qua mảng:

php<?php
  function sum($a, $b) {
    return $a + $b;
  }
  
  $res = call_user_func_array('sum', [2, 3]);
  echo $res;
?>

Kết quả thực thi mã:

php5

Ví dụ

Gọi phương thức của lớp với việc truyền tham số:

php<?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;
?>

Kết quả thực thi mã:

php20

Ví dụ

Sử dụng với hàm ẩn danh:

php<?php
  $func = function($a, $b, $c) {
    return $a + $b + $c;
  };
  
  $res = call_user_func_array($func, [1, 2, 3]);
  echo $res;
?>

Kết quả thực thi mã:

php6

Xem thêm

  • hàm call_user_func,
    hàm này gọi hàm callback với các đối số riêng lẻ
  • hàm function_exists,
    hàm này kiểm tra sự tồn tại của một hàm