Bonjour, petite question concernant la portée des variables, pour purger quelques doutes
1°) Si j'ai bien compris une variable locale , n'est utilisable que dans le script ou elle se trouve et HORS FONCTIONS, si des fonctions sont dans le script il faudra passer la variable en paramètre.
Cela ne marche pas mais c'est normal c'est clair : une variable locale n'existe que dans le script ou que dans la fonction... elle est recréée a chaque appel de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $suffix = " "; function prix($chiffre){ return $chiffre . $suffix; }
2°) On peut utiliser une variable statique, qui est persistante (garde les valeurs) mais qui restent locale et n'est utilisables que dans le script ou elle se trouve et HORS FONCTIONS, si des fonctions sont dans le script il faudra passer la variable en paramètre.
Cela ne sert a rien dans ce cas mais cela marche... on compris c'est local et ca garde la valeur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function prix($chiffre){ static $suffix = " "; return $chiffre . $suffix; }
La ou je comprend moins c'est les variables dans les Classes
3°) Les variables locales restent locale aux FONCTIONS... ça ne change rien... au principe...
Cela ne marche pas mais c'est logique de ce que j'ai compris...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class Text { $suffix = " "; function prix($chiffre){ return $chiffre . $suffix; } }
4°) Par contre les variable static... elles ne sont plus LOCALE... puisque on peut les appeler dans les fonctions directement avec self::
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class Text { static $suffix = " "; static function prix($chiffre){ return $chiffre . self::$suffix; } }
CA MARCHE alors que la variable est HORS de la FONCTION... persistante je comprend, mais elle ne semble plus être locale..
Partager