par
Ryle » 11 avr. 2009, 11:26
C'est une question de portée.
Les fonctions ont en effet un petit côté autiste : elles ne sont absolument pas conscientes de ce qui se passe autour d'elles si on ne le leur dit pas explicitement
Pour qu'elles puissent avoir accès à une variable déclarée à l'extérieure de la fonction, il te faut soit lui passer les valeurs en paramètres, soit lui spécifier qu'il s'agit de variables globales, et qu'elle doit aller les chercher à l'extérieur :
function region_connect($serveur, $admin, $mdp) { // valeurs à donner lors de l'appel à la fonction
....
}
// ou bien
function region_connect() {
global $serveur, $admin, $mdp; // le mot clé global indique à la fonction qu'il s'agit de variables externes
....
}
Dans le premier cas, tu ne passes que les valeurs à la fonction, dans le second cas tu lui indiques la présence des variables externes. La différence, c'est que dans le second cas tu peux également modifié ces variables, alors que tu ne peux pas le faire dans le premier (vu que tu récupères juste les valeurs)
HTH

C'est une question de portée.
Les fonctions ont en effet un petit côté autiste : elles ne sont absolument pas conscientes de ce qui se passe autour d'elles si on ne le leur dit pas explicitement :)
Pour qu'elles puissent avoir accès à une variable déclarée à l'extérieure de la fonction, il te faut soit lui passer les valeurs en paramètres, soit lui spécifier qu'il s'agit de variables globales, et qu'elle doit aller les chercher à l'extérieur :
[php]function region_connect($serveur, $admin, $mdp) { // valeurs à donner lors de l'appel à la fonction
....
}
// ou bien
function region_connect() {
global $serveur, $admin, $mdp; // le mot clé global indique à la fonction qu'il s'agit de variables externes
....
}[/php]
Dans le premier cas, tu ne passes que les valeurs à la fonction, dans le second cas tu lui indiques la présence des variables externes. La différence, c'est que dans le second cas tu peux également modifié ces variables, alors que tu ne peux pas le faire dans le premier (vu que tu récupères juste les valeurs)
HTH :)