(PHP 5 >= 5.1.2, PHP 7, PHP 8)
ReflectionFunction::invokeArgs — Invoque les arguments d'une fonction
Invoque la fonction et lui transmet les arguments sous la forme d'un tableau.
argsLes 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.
Retourne le résultat de la fonction invoquée.
| 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.
|
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)
}
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.