call_user_func_array ֆունկցիա

call_user_func_array ֆունկցիան հնարավորություն է տալիս կանչել callback, պարամետրերը փոխանցելով զանգվածի տեսքով: Առաջին պարամետրով փոխանցվում է ֆունկցիայի կամ մեթոդի անունը, իսկ երկրորդով՝ արգումենտների զանգվածը:

Սինտաքսիս

phpcall_user_func_array(callable $callback, array $args);

Օրինակ

Պարզ ֆունկցիայի կանչ պարամետրերի զանգվածով փոխանցումով:

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

Կոդի կատարման արդյունք:

php5

Օրինակ

Դասի մեթոդի կանչ պարամետրերի փոխանցումով:

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

Կոդի կատարման արդյունք:

php20

Օրինակ

Օգտագործում անանուն ֆունկցիայի հետ:

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

Կոդի կատարման արդյունք:

php6

Տես նաև

  • call_user_func ֆունկցիան,
    որը կանչում է callback-ֆունկցիան առանձին արգումենտներով
  • function_exists ֆունկցիան,
    որը ստուգում է ֆունկցիայի գոյությունը