Functie call_user_func_array

De functie call_user_func_array maakt het mogelijk om een callback aan te roepen en parameters door te geven in de vorm van een array. De eerste parameter is de naam van de functie of methode, en de tweede is een array met argumenten.

Syntaxis

phpcall_user_func_array(callable $callback, array $args);

Voorbeeld

Een eenvoudige functie aanroepen en parameters doorgeven via een array:

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

Resultaat van de code-uitvoering:

php5

Voorbeeld

Een klassemethode aanroepen en parameters doorgeven:

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

Resultaat van de code-uitvoering:

php20

Voorbeeld

Gebruik met een anonieme functie:

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

Resultaat van de code-uitvoering:

php6

Zie ook

  • de functie call_user_func,
    die een callback-functie aanroept met afzonderlijke argumenten
  • de functie function_exists,
    die controleert of een functie bestaat