(PHP 4, PHP 5)
func_get_args — Retourne les arguments d'une fonction sous la forme d'un tableau
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.
Retourne un tableau dont chaque élément est une copie du membre correspondant de la liste d'arguments de la fonction.
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 .
|
Générera une alerte si elle est appelée hors d'une fonction.
Exemple #1 Exemple avec func_get_args()
<?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";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "L'argument $i est : " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
?>
L'exemple ci-dessus va afficher :
Nombre d'arguments : 3<br /> Le second argument est : 2<br /> L'argument 0 est : 1<br /> L'argument 1 est : 2<br /> L'argument 2 est : 3<br />
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 :
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 ne traite pas les arguments par défaut (non passés).