Funktion call_user_func_array

Die Funktion call_user_func_array erlaubt es, einen Callback aufzurufen, indem Parameter als Array übergeben werden. Der erste Parameter ist der Name der Funktion oder Methode, der zweite - das Array der Argumente.

Syntax

phpcall_user_func_array(callable $callback, array $args);

Beispiel

Aufruf einer einfachen Funktion mit Übergabe von Parametern über ein Array:

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

Ergebnis der Codeausführung:

php5

Beispiel

Aufruf einer Klassenmethode mit Parameterübergabe:

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

Ergebnis der Codeausführung:

php20

Beispiel

Verwendung mit einer anonymen Funktion:

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

Ergebnis der Codeausführung:

php6

Siehe auch

  • die Funktion call_user_func,
    die eine Callback-Funktion mit einzelnen Argumenten aufruft
  • die Funktion function_exists,
    die die Existenz einer Funktion überprüft