func_get_args
(PHP 4, PHP 5, PHP 7)
func_get_args — Retourne les arguments d'une fonction sous la forme d'un tableau
Description
Récupère les arguments d'une fonction sous la forme d'un tableau.
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 un tableau dont chaque élément est une copie du membre correspondant de la liste d'arguments de la fonction.
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 FALSE .
|
Exemples
Exemple #1 Exemple avec func_get_args()
<?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";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "L'argument $i est : " . $arg_list[$i] . "\n";
}
}
foo(1, 2, 3);
?>
L'exemple ci-dessus va afficher :
Nombre d'arguments : 3 Le second argument est : 2 L'argument 0 est : 1 L'argument 1 est : 2 L'argument 2 est : 3
Exemple #2 Exemples func_get_args() avant et après PHP 5.3
test.php
<?php
function foo() {
include './fga.inc';
}
foo('Argument 1', 'Argument 2');
?>
fga.inc
<?php
$args = func_get_args();
var_export($args);
?>
Sortie avant PHP 5.3:
array ( 0 => 'Argument 1', 1 => 'Argument 2', )
Sortie depuis PHP 5.3
Warning: func_get_args(): 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_args() avec des arguments par référence et par valeur
<?php
function byVal($arg) {
echo 'Tel que passé : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'Après changement : ', var_export(func_get_args()), PHP_EOL;
}
function byRef(&$arg) {
echo 'Tel que passé : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'Après changement : ', var_export(func_get_args()), PHP_EOL;
}
$arg = 'bar';
byVal($arg);
byRef($arg);
?>
L'exemple ci-dessus va afficher :
Tel que passé : array (
0 => 'bar',
)
Après changement : array (
0 => 'bar',
)
Tel que passé : array (
0 => 'bar',
)
Après changement : array (
0 => '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 ne traite pas les arguments par défaut (non passés).
Voir aussi
Version en cache
23/12/2024 04:27:15 Cette version de la page est en cache (à la date du 23/12/2024 04:27:15) 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-func-get-args.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.