Funktionen call_user_func_array

Funktionen call_user_func_array låter dig anropa en callback, genom att skicka parametrar som en array. Den första parametern är namnet på funktionen eller metoden, och den andra är en array med argument.

Syntax

phpcall_user_func_array(callable $callback, array $args);

Exempel

Anropa en enkel funktion och skicka parametrar via en array:

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

Resultat av kodkörning:

php5

Exempel

Anropa en klassmetod och skicka parametrar:

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 av kodkörning:

php20

Exempel

Användning 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 av kodkörning:

php6

Se även

  • funktionen call_user_func,
    som anropar en callback-funktion med individuella argument
  • funktionen function_exists,
    som kontrollerar om en funktion existerar