함수 call_user_func_array

함수 call_user_func_array는 매개변수를 배열 형태로 전달하여 콜백을 호출할 수 있게 합니다. 첫 번째 매개변수로는 함수나 메서드의 이름이 전달되고, 두 번째 매개변수로는 인수 배열이 전달됩니다.

구문

phpcall_user_func_array(callable $callback, array $args);

예시

매개변수를 배열을 통해 전달하여 간단한 함수 호출하기:

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

코드 실행 결과:

php5

예시

매개변수를 전달하여 클래스 메서드 호출하기:

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

코드 실행 결과:

php20

예시

익명 함수와 함께 사용하기:

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

코드 실행 결과:

php6

함께 보기

  • 함수 call_user_func,
    개별 인수로 콜백 함수를 호출하는 함수
  • 함수 function_exists,
    함수의 존재 여부를 확인하는 함수