php静态变量的作用是什么?

青灯夜游
Lepaskan: 2023-02-27 10:16:01
asal
3332 orang telah melayarinya

php静态变量的作用是什么?

什么是静态变量?

静态变量 类型说明符是static。

静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束。

静态变量虽在程序的整个执行过程中始终存在,但是在它作用域之外不能使用。

只要在变量前加上关键字static,该变量就成为静态变量了。

php静态变量的作用

1、在函数内部修饰变量。静态变量在函数被调用的过程中其值维持不变。

<?php
function testStatic() {
    static $val = 1;
    echo $val."<br />";;
    $val++;
}
testStatic();   //output 1
testStatic();   //output 2
testStatic();   //output 3
?>
Salin selepas log masuk

程序运行结果:

1
2
3
Salin selepas log masuk

2、在类里修饰属性,或方法。

修饰属性或方法,可以通过类名访问,如果是修饰的是类的属性,保留值

<?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
?>
Salin selepas log masuk

程序运行结果:

0
3
Salin selepas log masuk

3、在类的方法里修饰变量。

<?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;
?>
Salin selepas log masuk

程序运行结果:

The age is: 1 The age is: 2 The age is: 3 The age is: 4
Salin selepas log masuk

更多PHP相关知识,请访问php中文网

Atas ialah kandungan terperinci php静态变量的作用是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan