PHP 静态变量

2025 年 4 月 29 日 | 4 分钟阅读

什么是变量?

程序中的变量用于存储值或数据,以便稍后在代码中重用。可以将它们视为数字、字符、字符串、内存地址等的容器。PHP 有自己特定的声明和使用变量的规则。

  • 所有 PHP 变量名都以美元符号 ($) 开头,后跟变量名。
  • 变量名可以很长且描述性强(例如,$factorial,$even_nos),也可以很短(例如,$n,$x)。
  • 变量名可以包含字母数字字符和下划线 (a-z, A-Z, 0-9, 和 _),但不能以数字开头。
  • 常量就像变量一样,其值不能改变。它们也是区分大小写的。
  • PHP 中的赋值使用 `=` 运算符 完成。变量在左边,值或表达式在右边。
  • PHP 是一种弱类型语言,这意味着您不必声明变量的类型——它的类型是根据赋给它的值推断出来的。
  • PHP 变量是区分大小写的($sum 和 $SUM 是不同的)。

PHP 数据类型

  • Null
  • 双精度浮点数
  • 整数
  • 字符串
  • 布尔值
  • 资源
  • 对象
  • 数组

PHP 中变量声明的示例

示例

输出

5
2
string
new string

变量作用域

变量的作用域定义了它在程序中可以被访问的位置。PHP 有三种类型的变量作用域:

  • 局部变量
  • 全局变量
  • 静态变量

局部变量

在函数内部声明的变量称为局部变量。它们只能在该函数内访问。即使函数外部有同名的变量,它们也被视为不同的变量。

示例

输出

local num = 50 
Variable num outside local_var() is 60

在上面的示例中,我们创建了一个局部变量 $num,并显示了局部变量在函数内外的使用情况,发现它只能在函数的局部作用域内工作。

全局变量

在任何函数外部声明的变量是全局变量。可以使用 global 关键字在函数内部访问它们。

示例

输出

Variable num inside function : 20 
Variable num outside function : 20

在上面的示例中,我们创建了一个全局变量 $num,并显示了全局变量在函数内部和外部的使用情况。

静态变量

静态变量在函数执行完毕后不会丢失其值。它会在函数多次调用之间保留其值。您可以使用 static 关键字声明一个静态变量。

为什么要使用静态变量?

通常,函数内的变量在函数退出后会被销毁。静态变量在函数调用之间保留其值。

示例 1

输出

1
2
3

您可能已经注意到,$ 在第一次函数调用后仍然会计数递增,但这是因为 $sum 是静态的,并且在第一个函数调用执行后其内存不会被释放。

示例 2

输出

Static num: 6
Normal sum: 3
Static num: 7
Normal sum: 3

如您所见,$num 在调用之间会增加,而 $sum 在每次调用时都会重置,因为它不是静态的。


下一个主题PHP MySQL 连接