PHP静态变量.md是做什么用的?

2026-04-03 04:531阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计457个文字,预计阅读时间需要2分钟。

PHP静态变量.md是做什么用的?

PHP 静态变量

静态变量用于修饰变量,使其在函数或类的作用域内保持状态。使用 `static` 修饰符的变量称为静态变量。

特点:

* 1. 静态变量初始化后,不会再次初始化。这意味着,即使函数或类被多次调用,静态变量也不会重新初始化,而是保持其上一次的值。* 2. 静态变量不能再次被初始化。如果尝试给静态变量赋值,编译器会报错,提示Cannot redeclare static variable。

PHP静态变量.md是做什么用的?

例如:

phpfunction test() { static $num=0; $num++; return $num;}

echo test(); // 输出:1echo test(); // 输出:2echo test(); // 输出:3

PHP静态变量.md

> PHP静态变量 静态变量用修饰符static修饰的变量。 **特点:** 1、静态变量初始化后,不会再初始化该静态变量,也不能再向其赋初始化的值,否则编译报错。 2、静态变量不会随作用域结束后而销毁,并且保存最后的结果,供下次使用。常用于函数体内,处理递归问题。如: ``` function staticTest(){ static $stdigital = 0; $stdigital++; echo $stdigital; } staticTest(); //输出1;当一次执行完毕,函数的作用域消失,但static变量并没有消失 staticTest(); //输出2,static变量在上一次的基础上加1 ``` 3、静态变量只能接受值的形式赋值,不接受表达式赋值,否则编译报错。 如: $stdigital = 1+2; //错误 4、类中的静态成员变量,不专属某个实例,故不能用"$this->"和"对象->访问",只能用"类::"和"self::"访问。 ``` class StatciTest{ public static $stdigital = 0; function __construct(){ self::$stdigital += 1; } public function printStdigital(){ echo self::$stdigital; } } $testObj = new StaticTest(); $testObj->printStdigital(); //输出2 print StatciTest::$stdigital; //输出2 ```

本文共计457个文字,预计阅读时间需要2分钟。

PHP静态变量.md是做什么用的?

PHP 静态变量

静态变量用于修饰变量,使其在函数或类的作用域内保持状态。使用 `static` 修饰符的变量称为静态变量。

特点:

* 1. 静态变量初始化后,不会再次初始化。这意味着,即使函数或类被多次调用,静态变量也不会重新初始化,而是保持其上一次的值。* 2. 静态变量不能再次被初始化。如果尝试给静态变量赋值,编译器会报错,提示Cannot redeclare static variable。

PHP静态变量.md是做什么用的?

例如:

phpfunction test() { static $num=0; $num++; return $num;}

echo test(); // 输出:1echo test(); // 输出:2echo test(); // 输出:3

PHP静态变量.md

> PHP静态变量 静态变量用修饰符static修饰的变量。 **特点:** 1、静态变量初始化后,不会再初始化该静态变量,也不能再向其赋初始化的值,否则编译报错。 2、静态变量不会随作用域结束后而销毁,并且保存最后的结果,供下次使用。常用于函数体内,处理递归问题。如: ``` function staticTest(){ static $stdigital = 0; $stdigital++; echo $stdigital; } staticTest(); //输出1;当一次执行完毕,函数的作用域消失,但static变量并没有消失 staticTest(); //输出2,static变量在上一次的基础上加1 ``` 3、静态变量只能接受值的形式赋值,不接受表达式赋值,否则编译报错。 如: $stdigital = 1+2; //错误 4、类中的静态成员变量,不专属某个实例,故不能用"$this->"和"对象->访问",只能用"类::"和"self::"访问。 ``` class StatciTest{ public static $stdigital = 0; function __construct(){ self::$stdigital += 1; } public function printStdigital(){ echo self::$stdigital; } } $testObj = new StaticTest(); $testObj->printStdigital(); //输出2 print StatciTest::$stdigital; //输出2 ```