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

ReflectionFunction::invokeArgs

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

ReflectionFunction::invokeArgs — Invoque les arguments d'une fonction

Description

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

Invoque la fonction et lui transmet les arguments sous la forme d'un tableau.

Liste de paramètres

args

Les paramètres à passer à la fonction, sous forme de tableau, tout comme le fonctionnement de call_user_func_array().

Si toutes les clés de args sont numériques, les clés sont ignorées et chaque élément est passé à la fonction comme argument positionnel, dans l'ordre.

Si certaines clés de args sont des chaînes, ces éléments sont passés à la fonction comme arguments nommés, avec le nom donné par la clé.

Une Error est levée si une clé numérique de args apparaît après une clé chaîne, ou si une clé chaîne ne correspond au nom d'aucun paramètre de la fonction.

Valeurs de retour

Retourne le résultat de la fonction invoquée.

Historique

Version Description
8.0.0 Les clés de args seront désormais interprétées comme les noms des paramètres, au lieu d'être silencieusement ignorées.

Exemples

Exemple #1 Exemple avec ReflectionFunction::invokeArgs()

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

$function = new ReflectionFunction('title');

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

L'exemple ci-dessus va afficher :

Dr. Phil

Exemple #2 Exemple pour ReflectionFunction::invokeArgs() avec des références

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

L'exemple ci-dessus va afficher :

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

Notes

Note:

Si la fonction a des arguments qui ont besoin d'être des références, alors ils doivent être passés par références dans la liste des arguments.

Voir aussi

To Top