Les variables locales statiques en php peuvent-elles être modifiées ?

(*-*)浩
Libérer: 2023-02-26 13:14:01
original
5166 Les gens l'ont consulté

Les variables locales statiques de PHP ne signifient pas qu'elles ne peuvent pas changer la valeur. Une quantité qui ne peut pas changer la valeur est appelée une constante. La valeur qu'il détient est modifiable et elle restera à jour. On dit qu'il est statique car il ne change pas lorsque la fonction est appelée ou se termine. Autrement dit, si nous attribuons une certaine valeur à une variable statique la dernière fois que la fonction est appelée, la valeur restera inchangée au prochain appel de la fonction.

Les variables locales statiques en php peuvent-elles être modifiées ?

Variable statique Le spécificateur de type est statique. (Apprentissage recommandé : Tutoriel vidéo PHP)

Les variables statiques appartiennent à la méthode de stockage statique, et leur espace de stockage est la zone de données statiques dans la mémoire (les unités de stockage sont allouées dans la zone de stockage statique), les données de cette zone occupent ces espaces de stockage tout au long de l'exécution du programme (non libérées pendant tout le déroulement du programme), et on peut également considérer que son adresse mémoire reste inchangée jusqu'à la fin de l'ensemble de l'exécution du programme. programme (en revanche, les variables automatiques automatiques, c'est-à-dire que les variables locales dynamiques appartiennent à la catégorie de stockage dynamique, occupent de l'espace de stockage dynamique et sont libérées une fois l'appel de fonction terminé).

Bien que les variables statiques existent toujours pendant toute l'exécution du programme, elles ne peuvent pas être utilisées en dehors de son cadre.

Variables locales statiques :

1. Les variables internes de type statique sont les mêmes que les variables automatiques (c'est-à-dire les variables locales sans déclaration statique), qui sont un fonction spécifique.variable locale, c'est-à-dire que la variable ne peut être utilisée que dans la fonction dans laquelle la variable est définie. La portée des deux est la même

La différence entre les deux est que l'auto automatique ; La variable existera lorsque la fonction est appelée et se termine. Elle disparaîtra, mais les variables locales de classe statique n'existeront pas, que la fonction dans laquelle elle se trouve soit appelée ou non.

Cependant, bien que la variable continue ; pour exister, il ne peut pas être utilisé. Si la fonction qui la définit est à nouveau appelée, elle peut continuer à être utilisée et la valeur restante après l'appel précédent est enregistrée. Autrement dit, une variable interne de type statique est une variable qui ne peut être utilisée que dans une fonction spécifique, mais occupe toujours de l'espace de stockage.

2. Si une variable statique est initialisée lors de la définition d'une variable statique dans le corps de la fonction, le programme n'effectuera plus d'opérations d'initialisation à l'avenir (l'instruction d'initialisation de variable statique du type de base qui apparaît à l'intérieur de la fonction ne sera utilisé pour la première fois que lors de son appel. L'attribution de valeurs initiales aux variables automatiques est effectuée lorsque la fonction est appelée. Chaque fois que la fonction est appelée, la valeur initiale est à nouveau attribuée, ce qui équivaut à l'exécution d'une instruction d'affectation.

3. L'expression d'initialisation des variables locales statiques doit être une constante ou une expression constante. Même si une variable statique locale est définie sans valeur initiale, le système attribuera automatiquement une valeur initiale de 0 (pour les variables numériques) ou un caractère nul (pour les variables de caractères) ; Pour la variable automatique auto, si aucune valeur initiale n'est affectée, sa valeur sera une valeur incertaine.

4. Lorsqu'une fonction est appelée plusieurs fois et que les valeurs de certaines variables doivent être conservées entre les appels, des variables locales statiques peuvent être prises en compte. Bien que les variables globales puissent également être utilisées pour atteindre l'objectif ci-dessus, les variables globales provoquent parfois des effets secondaires inattendus (principalement causés par la portée de la variable), il est donc toujours préférable d'utiliser des variables statiques locales.

Remarque : Les variables statiques locales prennent beaucoup de temps en mémoire et ont une mauvaise lisibilité. Par conséquent, essayez d'éviter d'utiliser des variables statiques locales sauf si cela est nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal