func_get_arg
(PHP 4, PHP 5)
func_get_arg — Retourne un élément de la liste des arguments
Description
Récupère un élément de la liste des arguments d'une fonction utilisateur.
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.
Liste de paramètres
-
arg_num
-
La position de l'argument. Les arguments de la fonction sont comptés en commençant à partir de 0.
Valeurs de retour
Retourne l'argument spécifié, ou FALSE
si une erreur survient.
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 depuis le scope le plus éloigné d'un
fichier qui a été inclus via
include ou
require
depuis l'intérieur d'une fonction du fichier appelant, elle génère une
alerte et retourne FALSE .
|
Erreurs / Exceptions
Générera une alerte si elle est appelée hors d'une fonction utilisateur, ou si
arg_num
est plus grand que le nombre d'arguments passés.
Exemples
Exemple #1 Exemple avec func_get_arg()
<?php function foo() { $numargs = func_num_args(); echo "Nombre d'arguments : $numargs<br />\n"; if ($numargs >= 2) { echo "Le second argument est : " . func_get_arg(1) . "<br />\n"; } } foo (1, 2, 3); ?>
Exemple #2 Exemple avec func_get_arg() avant et après PHP 5.3
test.php <?php function foo() { include './fga.inc'; } foo('First arg', 'Second arg'); ?> fga.inc <?php $arg = func_get_arg(1); var_export($arg); ?>
<?php function byVal($arg) { echo 'Tel que passé : ', var_export(func_get_arg(0)), PHP_EOL; $arg = 'baz'; echo 'Après changement : ', var_export(func_get_arg(0)), PHP_EOL; } function byRef(&$arg) { echo 'Tel que passé : ', var_export(func_get_arg(0)), PHP_EOL; $arg = 'baz'; echo 'Après changement : ', var_export(func_get_arg(0)), PHP_EOL; } $arg = 'bar'; byVal($arg); byRef($arg); ?>
L'exemple ci-dessus va afficher :
Tel que passé : 'bar'
Après changement : 'bar'
Tel que passé : 'bar'
Après changement : 'baz'
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 être utilisés en tant que paramètre d'une fonction dans les versions antérieures à 5.3.0. Si vous devez passer cette valeur, assignez les résultats à une variable et utilisez-la.
Note:
Si les arguments sont passés par référence, toutes leurs modifications seront reflétées dans les valeurs retournées par cette fonction.
Note: Cette fonction retourne uniquement une copie des arguments passés, et ne compte pas en tant qu'arguments par défaut (non passés).
Voir aussi
- func_get_args() - Retourne les arguments d'une fonction sous la forme d'un tableau
- func_num_args() - Retourne le nombre d'arguments passés à la fonction