Funktionen call_user_func_array

Funktionen call_user_func_array giver mulighed for at kalde en callback, ved at overføre parametre som en array. Den første parameter er navnet på funktionen eller metoden, og den anden er en array med argumenter.

Syntaks

phpcall_user_func_array(callable $callback, array $args);

Eksempel

Kald af en simpel funktion med overførsel af parametre gennem en array:

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

Resultat af kodeudførelse:

php5

Eksempel

Kald af en klasse metode med overførsel af parametre:

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

Resultat af kodeudførelse:

php20

Eksempel

Brug med en anonym funktion:

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

Resultat af kodeudførelse:

php6

Se også

  • funktionen call_user_func,
    som kalder en callback-funktion med individuelle argumenter
  • funktionen function_exists,
    som kontrollerer eksistensen af en funktion