|
5.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 clé 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;
echo $HTTP_POST_VARS['name'];
// Les superglobales sont accessibles dans tous les contextes // et ne requièrent pas 'global'. Les superglobales sont disponibles // depuis PHP 4.1.0 et HTTP_POST_VARS est de plus en plus // déprécié. echo $_POST['name']; } ?>
|
|