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 |