Funksjonen call_user_func_array

Funksjonen call_user_func_array lar deg kalle en callback, ved å sende parameterne som en matrise. Den første parameteren er navnet på funksjonen eller metoden, og den andre er en matrise med argumenter.

Syntaks

phpcall_user_func_array(callable $callback, array $args);

Eksempel

Kall av en enkel funksjon med overføring av parametere gjennom en matrise:

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

Resultat av kjøring av koden:

php5

Eksempel

Kall av en klasse-metode med overføring av parametere:

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 kjøring av koden:

php20

Eksempel

Bruk med en anonym funksjon:

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

Resultat av kjøring av koden:

php6

Se også

  • funksjonen call_user_func,
    som kaller en callback-funksjon med individuelle argumenter
  • funksjonen function_exists,
    som sjekker om en funksjon eksisterer