func_num_args

(PHP 4, PHP 5, PHP 7)

func_num_argsRetourne le nombre d'arguments passés à la fonction

Description

func_num_args ( void ) : int

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.

Valeurs de retour

Retourne le nombre d'arguments passés à la fonction utilisateur courante. function.

Historique

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.

Erreurs / Exceptions

Génère une alerte si elle est appelée hors d'une fonction utilisateur.

Exemples

Exemple #1 Exemple avec func_num_args()

<?php
function foo()
{
    
$numargs func_num_args();
    echo 
"Nombre d'arguments : $numargs\n";
}

foo(123);    // 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
 

Notes

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.