Quel est le rôle des variables statiques php ?

青灯夜游
Libérer: 2023-02-27 10:16:01
original
3342 Les gens l'ont consulté

Quel est le rôle des variables statiques php ?

Que sont les variables statiques ?

Variable statique Le spécificateur de type est statique.

Les variables statiques appartiennent au 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 du fonctionnement de). le programme. (Il n'est pas libéré pendant toute la durée du programme), et on peut également considérer que son adresse mémoire reste inchangée jusqu'à la fin du programme entier.

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.

Tant que le mot clé static est ajouté avant une variable, la variable devient une variable statique.

Le rôle des variables statiques php

1. Modifier les variables à l'intérieur de la fonction. Les variables statiques conservent leur valeur pendant que la fonction est appelée.

<?php
function testStatic() {
    static $val = 1;
    echo $val."<br />";;
    $val++;
}
testStatic();   //output 1
testStatic();   //output 2
testStatic();   //output 3
?>
Copier après la connexion

Résultat de l'exécution du programme :

1
2
3
Copier après la connexion

2 Modifier les attributs ou les méthodes dans la classe.

Les attributs ou méthodes modifiés sont accessibles via le nom de la classe. Si l'attribut modifié est un attribut de classe, la valeur est conservée

<?php
class Person {
    static $id = 0;
 
    function __construct() {
        self::$id++;
    }
 
    static function getId() {
        return self::$id;
    }
}
echo Person::$id;   //output 0
echo "<br/>";
 
$p1=new Person();
$p2=new Person();
$p3=new Person();
 
echo Person::$id;   //output 3
?>
Copier après la connexion

Résultat de l'exécution du programme :

0
3
Copier après la connexion

3. . Dans la classe Modifier les variables dans la méthode.

<?php
class Person {
    static function tellAge() {
        static $age = 0;
        $age++;
        echo "The age is: $age
";
    }
}
echo Person::tellAge(); //output &#39;The age is: 1&#39;
echo Person::tellAge(); //output &#39;The age is: 2&#39;
echo Person::tellAge(); //output &#39;The age is: 3&#39;
echo Person::tellAge(); //output &#39;The age is: 4&#39;
?>
Copier après la connexion

Résultat de l'exécution du programme :

The age is: 1 The age is: 2 The age is: 3 The age is: 4
Copier après la connexion

Pour plus de connaissances sur PHP, veuillez visiter le site Web chinois php !

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:
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