4.3.3.1 Le mot clé global
Commençons par un exemple avec
global
:
Exemple avec global |
<?php $a = 1; $b = 2; function somme() { global $a, $b; $b = $a + $b; } somme(); echo $b;
|
Le script ci-dessus va afficher la valeur
3
.
En déclarant globales les variables
$a
et
$b
locales
de la fonction somme(), toutes les références à
ces variables concerneront les variables globales. Il n'y a
aucune limite au nombre de variables globales qui peuvent
être manipulées par une fonction.
Une deuxième méthode pour accéder aux
variables globales est d'utiliser le tableau associatif
prédéfini
$GLOBALS
. Le précédent
exemple peut être réécrit de la
manière suivante:
Les variables globales et $GLOBALS |
<?php $a = 1; $b = 2; function somme() { $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; } somme(); echo $b; ?>
|
Le tableau
$GLOBALS
est un tableau associatif avec le nom
des variables globales comme clef et les valeurs des éléments
du tableau comme valeur des variables. Notez que
$GLOBALS
existe dans tous les contextes, car
$GLOBALS
est un
superglobal .
Voici un exemple des super globaux :
Les variables super globales |
<?php function test_global() { // La plupart des variables prédéfinies ne sont pas des "superglobales" et // requiert le mot clé 'global' pour être disponible dans une fonction. global $HTTP_POST_VARS; print $HTTP_POST_VARS['name']; // Les superglobales sont accessibles dans tous les contextes // et ne requièrent pas 'global'. Les superglobales sont disponibles // depuis <TT>PHP</TT> 4.1.0 print $_POST['name']; } ?>
|
|