Heim >Backend-Entwicklung >PHP-Problem >Welche Funktion hat das statische Schlüsselwort in PHP?

Welche Funktion hat das statische Schlüsselwort in PHP?

王林
王林Original
2020-06-29 16:37:006499Durchsuche

Die Funktionen des Schlüsselworts static in PHP sind: 1. Fügen Sie es in die Funktion ein, um die Variable zu ändern. Der Variablenwert wird weiterhin gespeichert, nachdem die Funktion ausgeführt wurde. 2. Fügen Sie es in die Klasse ein Ändern Sie das Attribut oder die Methode. Wenn es sich bei der Änderung um ein Klassenattribut handelt, wird der Wert beibehalten. 3. Ändern Sie die Variable in der Methode der Klasse. 4. Ändern Sie die Variable im globalen Bereich.

Welche Funktion hat das statische Schlüsselwort in PHP?

Die Funktionen des statischen Schlüsselworts sind wie folgt:

1. Fügen Sie es in die Funktion ein, um die Variable

2. Fügen Sie es in eine Klasse ein, um Attribute oder Methoden zu ändern.

3 >

4. Ändern Sie Variablen im globalen Bereich

Die verschiedenen Bedeutungen der Schlüsselwörter sind wie folgt:

1 Wird ausgeführt, wird der Variablenwert weiterhin gespeichert

Wie unten gezeigt:

<?php
function testStatic() {
    static $val = 1;
    echo $val;
    $val++;
}
testStatic();   //output 1
testStatic();   //output 2
testStatic();   //output 3
?>

2. Auf geänderte Attribute oder Methoden kann über den Klassennamen zugegriffen werden Der Wert

lautet wie folgt:

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

3. Die Variablen in der Methode zum Ändern der Klasse

lauten wie folgt:

<?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;
?>

4 die den globalen Geltungsbereich modifizieren, haben keine praktische Bedeutung

wie folgt: Bedeutet:

<?php
static $name = 1;
$name++;
echo $name;
?>
另外:考虑到PHP变量作用域

<?php
include &#39;ChromePhp.php&#39;;
 
$age=0;
$age++;
 
function test1() {
    static $age = 100;
    $age++;
    ChromePhp::log($age);  //output 101
}
 
function test2() {
    static $age = 1000;
    $age++;
    ChromePhp::log($age); //output 1001
}
 
test1();
test2();
ChromePhp::log($age); //outpuut 1
?>

Es ist ersichtlich, dass diese drei Variablen sich nicht gegenseitig beeinflussen. Darüber hinaus gibt es in PHP nur globale Bereiche und Funktionsbereiche, keinen Blockbereich.

Wenn Sie mehr zu diesem Thema erfahren möchten, besuchen Sie bitte die

php-Website für Chinesisch

.

Das obige ist der detaillierte Inhalt vonWelche Funktion hat das statische Schlüsselwort in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn