func_get_arg
(PHP 4, PHP 5, PHP 7)
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.
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\n";
if ($numargs >= 2) {
echo "Le second argument est : " . func_get_arg(1) . "\n";
}
}
foo(1, 2, 3);
?>
L'exemple ci-dessus va afficher :
Nombre d'arguments : 3 Le second argument est : 2
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);
?>
Affiche, avant PHP 5.3 :
'Second arg'
Affiche, en PHP 5.3 et suivants :
Warning: func_get_arg(): Called from the global scope - no function context in /home/torben/Desktop/code/ml/fga.inc on line 3 false
Exemple #3 Exemple func_get_arg() avec des arguments par référence et par valeur
<?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. Depuis PHP 7, les valeurs courantes seront aussi retournées si les arguments sont passés par leur valeur.
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).
Version en cache
25/11/2024 04:14:12 Cette version de la page est en cache (à la date du 25/11/2024 04:14:12) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.func-get-arg.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.