(PHP 4, PHP 5, PHP 7)
func_num_args — Retourne le nombre d'arguments passés à la fonction
Récupère le nombre d'arguments passés à la fonction.
func_get_arg() peut être utilisé conjointement à func_num_args() et func_get_args() pour permettre aux fonctions utilisateurs d'accepter un nombre variable d'arguments.
Retourne le nombre d'arguments passés à la fonction utilisateur courante. function.
Version | Description |
---|---|
5.3.0 | Cette fonction peut maintenant être utilisée dans des listes de paramètres. |
5.3.0 | Si cette fonction est appelée dans un fichier inclus avec include ou require logé dans une fonction, elle génèrera une alerte et retournera -1. |
Génère une alerte si elle est appelée hors d'une fonction utilisateur.
Exemple #1 Exemple avec func_num_args()
<?php
function foo()
{
$numargs = func_num_args();
echo "Nombre d'arguments : $numargs\n";
}
foo(1, 2, 3); // affiche ''
?>
L'exemple ci-dessus va afficher :
Nombre d'arguments: 3
Exemple #2 Exemples func_num_args() avant et après PHP 5.3
test.php
<?php
function foo() {
include './fna.inc';
}
foo('Argument 1', 'Argument 2');
?>
fna.php
<?php
$num_args = func_num_args();
var_export($num_args);
?>
Sortie avant PHP 5.3:
2
L'affichage depuis PHP 5.3 ressemble à quelque chose comme :
Warning: func_num_args(): Called from the global scope - no function context in /home/torben/Desktop/code/ml/fna.inc on line 3 -1
Note:
Parce que cette fonction dépend de la portée courante pour déterminer les détails des paramètres, ils ne peuvent pas être utilisés en tant que paramètre d'une fonction dans les versions de PHP antérieures à 5.3.0. Si cette valeur doit être passée, le résultat doit être assigné à une variable et cette variable doit être passée.