类别:PHP问题 / 日期:2019-12-02 / 浏览:89 / 评论:0

什么是静态变量?

静态变量 范例说明符是static。

静态变量属于静态存储体式格局,其存储空间为内存中的静态数据区(在静态存储区内分派存储单元),该区域中的数据在全部顺序的运转时期一向占用这些存储空间(在顺序全部运转时期都不开释),也能够认为是其内存地址稳定,直到全部顺序运转完毕。

静态变量虽在顺序的全部实行过程当中一直存在,但是在它作用域以外不能运用。

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

php静态变量的作用

1、在函数内部润饰变量。静态变量在函数被挪用的过程当中其值保持稳定。

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

顺序运转效果:

1
2
3

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

顺序运转效果:

0
3

3、在类的要领里润饰变量。

<?php
class Person {
    static function tellAge() {
        static $age = 0;
        $age++;
        echo "The age is: $age
";
    }
}
echo Person::tellAge(); //output 'The age is: 1'
echo Person::tellAge(); //output 'The age is: 2'
echo Person::tellAge(); //output 'The age is: 3'
echo Person::tellAge(); //output 'The age is: 4'
?>

顺序运转效果:

The age is: 1 The age is: 2 The age is: 3 The age is: 4

更多PHP相干学问,请接见ki4网!

以上就是php静态变量的作用是什么?的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。