ReflectionFunction::invokeArgs
PHP Manual
PHP Manual»ReflectionFunction»ReflectionFunction::invokeArgs

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionFunction::invokeArgs — Invokes function args

Descrizione

public function ReflectionFunction::invokeArgs(array $args): mixed

Invokes the function and pass its arguments as array.

Elenco dei parametri

args

The parameters to be passed to the function, as an array, much like call_user_func_array() works.

If the keys of args are all numeric, the keys are ignored and each element is passed to the function as a positional argument, in order.

If any keys of args are strings, those elements are passed to the function as named arguments, with the name given by the key.

An Error is thrown if a numeric key in args appears after a string key, or if a string key does not match the name of any parameter of the function.

Valori restituiti

Returns the result of the invoked function

Log delle modifiche

Versione Descrizione
8.0.0 args keys will now be interpreted as parameter names, instead of being silently ignored.

Esempi

Example #1 ReflectionFunction::invokeArgs() example

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

Il precedente esempio visualizzerà:

Dr. Phil

Example #2 ReflectionFunction::invokeArgs() with references example

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
    foreach ($conditions as $condition) {
        if (!$condition) {
            $false_conditions[] = $condition;
        }
    }
}

$function_ref     = new ReflectionFunction('get_false_conditions');

$conditions       = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

Il precedente esempio visualizzerà:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Note

Nota:

If the function has arguments that need to be references, then they must be references in the passed argument list.

Vedere anche:

To Top