3-1-2 «Variables locales, variables globales» - Script PHP exécutable en ligne

Initiation à la programmation avec le langage PHP, §3 Sous-programmes et tableaux

Sous-programme avec une ou plusieurs variables globales

function 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