查詢

call_user_func_array()函式—用法及示例

「 動態呼叫具有引數的使用者函式或者類方法 」


函式call_user_func_array()用於動態呼叫具有引數的使用者函式或者類方法。

用法: call_user_func_array ( callable $callback , array $param_arr ) : mixed

引數:

  1. $callback:要呼叫的函式或方法,可以是以字串形式表示的函式名、類名和方法名的陣列,或者是匿名函式。
  2. $param_arr:包含引數的陣列。

返回值: 返回撥用函式或方法的返回值。

示例:

  1. 使用全域性函式:
function sum($a, $b) {
    return $a + $b;
}

$args = [2, 3];
$result = call_user_func_array('sum', $args);

echo $result;   // 輸出: 5
  1. 使用類方法:
class Math {
    public function add($a, $b) {
        return $a + $b;
    }
}

$math = new Math();
$args = [2, 3];
$result = call_user_func_array([$math, 'add'], $args);

echo $result;   // 輸出: 5
  1. 使用匿名函式:
$callback = function($a, $b) {
    return $a + $b;
}

$args = [2, 3];
$result = call_user_func_array($callback, $args);

echo $result;   // 輸出: 5

在上述示例中,透過call_user_func_array()函式動態呼叫了sum()函式、Math類的add()方法以及匿名函式,傳遞引數給這些函式,並獲取返回值。

補充糾錯
上一個函式: call_user_func()函式
下一個函式: cal_days_in_month()函式
熱門PHP函式
分享連結