(php)fonctions avec des paramétres variables
Résolu
apprentiDev
Messages postés
154
Date d'inscription
Statut
Membre
Dernière intervention
-
apprentiDev Messages postés 154 Date d'inscription Statut Membre Dernière intervention -
apprentiDev Messages postés 154 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je suis en train de lire un livre sur le PHP et il y un exemple que je ne comprends pas.
Le but de l'exemple est d'utiliser une fonction avec un nombre variable de paramètre qui sont stockés dans un tableau.
Voici le code :
Le code fonction puisse je l'ai testé. Ce que je ne comprend pas c'est comment les tableaux qui sont données en fin de script sont passées en paramétres à la fonction prod.
C'est la variable $tab qui contient $tab1 et $tab2 mais comment ces deux tableaux sont passé en parametre à $tab?
En vous remerciant de votre réponse.
Cordialement apprentiDev
Je suis en train de lire un livre sur le PHP et il y un exemple que je ne comprends pas.
Le but de l'exemple est d'utiliser une fonction avec un nombre variable de paramètre qui sont stockés dans un tableau.
Voici le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title> Fonction avec parametres variable</title> </head> <body> <?php function prod($tab) // Le tableau est passé en paramétre à la fonction { $n=count($tab); echo "Il y a $n paramètres :"; $prod =1; foreach($tab as $val) { echo"$val, " ; //$val contient les valeurs du tableau $prod *=$val; } echo " Le produit vaut"; return $prod; // $prod contient le résultat final } // fin de la fonction prod $tab1= range(1,10); echo"Produit des nombres de 1 à 10 :", prod($tab1),"<br />"; $tab2 = array(7,12,15,3,21); echo "Produit des éléments :", prod($tab2),"<br />"; ?> </body> </html>
Le code fonction puisse je l'ai testé. Ce que je ne comprend pas c'est comment les tableaux qui sont données en fin de script sont passées en paramétres à la fonction prod.
C'est la variable $tab qui contient $tab1 et $tab2 mais comment ces deux tableaux sont passé en parametre à $tab?
En vous remerciant de votre réponse.
Cordialement apprentiDev
A voir également:
- (php)fonctions avec des paramétres variables
- Parametres de mon ordinateur - Guide
- Paramètres dns - Guide
- Easy php - Télécharger - Divers Web & Internet
- Paramètres de confidentialité - Guide
- Le bon coin mon compte parametres - Guide
3 réponses
Bonjour,
Je reprends l'exemple du code :
En écrivant : prod($tab1), cela signifie que tu vas envoyer en paramètre à la fonction prod, la variable $tab1 qui est de type tableau. C'est une copie de la variable qui est envoyé à la fonction. Même principe pour $tab2
Je ne vois pas trop ce qui te gêne, c'est peut-être la syntaxe mais tu t'y feras :)
Je reprends l'exemple du code :
echo"Produit des nombres de 1 à 10 :", prod($tab1),"<br />";
En écrivant : prod($tab1), cela signifie que tu vas envoyer en paramètre à la fonction prod, la variable $tab1 qui est de type tableau. C'est une copie de la variable qui est envoyé à la fonction. Même principe pour $tab2
Je ne vois pas trop ce qui te gêne, c'est peut-être la syntaxe mais tu t'y feras :)
Oui ca doit être la syntaxe car je comprend le code.
En fait si je devait reformuler ma question ce serait comment prod $tab comprend qu'il prend en paramètre $tab1 puis $tab2. Je suppose que si j'écrit $tableau1 vau lieu de $tab1 alors la fonction ne prendra pas en compte $tableau1?
En tout cas merci de ta réponse.
En fait si je devait reformuler ma question ce serait comment prod $tab comprend qu'il prend en paramètre $tab1 puis $tab2. Je suppose que si j'écrit $tableau1 vau lieu de $tab1 alors la fonction ne prendra pas en compte $tableau1?
En tout cas merci de ta réponse.
en fait ce qu'il faut comprendre c'est que la variable $tab est une variable interne à la fonction (sa portée est limitée à la fonction)
ta fonction prod est définie avec un argument que tu as nommé $tab
et lors de l'apel à la fonction par exemple prod($tab1)
on passe en argument l'array $tab1
la fonction retrouve donc les valeurs de cet array dans son premier argument qu'elle mets dans sa variable $tab pour faire le traitement
idem avec $atb2
ta fonction prod est définie avec un argument que tu as nommé $tab
et lors de l'apel à la fonction par exemple prod($tab1)
on passe en argument l'array $tab1
la fonction retrouve donc les valeurs de cet array dans son premier argument qu'elle mets dans sa variable $tab pour faire le traitement
idem avec $atb2