3-1-2 «Variables locales, variables globales» - Script PHP exécutable en ligneInitiation à la programmation avec le langage PHP, §3 Sous-programmes et tableaux |
Sous-programme avec une ou plusieurs variables globalesfunction sp(){ global $a, $b; $z = ... (en fonction de $a, $b); return $z; } Les variables $a et $b sont globales, ce qui signifie que $a représente la même variable dans sp et hors de sp; de même pour $b. $z est une variable locale: elle n'a pas d'existence en dehors du sous-programme sp. Les sous-programmes sans argument sont appelés «procédures». Le bouton permet d'exécuter le script PHP. <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="robots" content="NoIndex,NoFollow"> <title>Variables locales, variables globales</title> </head> <body> <?php /* Données */ $d = 2; /* Déclaration des sous-programmes: - la fonction initialise() décrit comment attribuer une valeur aux variables globales $a et $b; initialise() n'a pas d'argument en entrée mais accède à deux variables globales; initialise() n'a pas de valeur en sortie mais affecte deux variables globales; - la fonction affine($x) décrit comment calculer le nombre en sortie ($a*$x + $b); affine($x) a un argument en entrée et, de plus, accède à deux variables globales; la variable $x est locale; affine($x) retourne une valeur. Les déclarations des fonctions n'engagent aucune action; leur seul effet est de définir de nouvelles fonctions. */ function initialise(){ global $a, $b; $a = 1.5; $b = 0.5; return; } function affine($x){ global $a, $b; return $a*$x + $b; } /* Appel des sous-programmes afin qu'ils soient exécutés: - la fonction initialise() attribue effectivement une valeur aux variables globales $a et $b; - la fonction affine($x) calcule effectivement le nombre en sortie ($a*$x + $b); cette valeur est mise en mémoire dans la variable globale $y. */ initialise(); $y = affine(3); echo '<p>affine(3) = '.$y.'</p>'; ?> </body> </html> |
Contact | Accueil > PHP > Initiation |