

新闻资讯
技术学院静态变量用static声明,函数中可保持值不重置,类中用于定义属类成员;如计数器、缓存、单例模式等,但需注意内存占用及无法跨请求持久化。
在PHP中,静态变量通过 static 关键字声明。它主要用于保留函数执行结束后局部变量的值,或在类中创建属于类本身的变量和方法,而不是实例对象。
当一个变量被声明为 static,它的生命周期会延续到脚本结束,即使函数执行完毕,变量也不会被销毁,下次调用函数时仍保留上次的值。
例如:
function counter() {
static $count = 0;
echo $count . "\n";
$count++;
}
counter(); // 输出: 0
counter(); // 输出: 1
counter(); // 输出: 2
说明:$count 是静态变量,只初始化一次。每次调用函数时,它保持上一次的值,不会重置为0。
在类中,使用 static 可以定义静态属性和静态方法。这些成员不属于某个对象实例,而是属于类本身,可以通过类名直接访问。
示例:
class MathTool {
public static $pi = 3.14159;
public static function add($a, $b) {
return $a + $b;
}
}
echo MathTool::$pi; // 输出: 3.14159
echo MathTool::add(5, 3); // 输出: 8
注意:静态方法内部不能使用 $this,因为它不依赖于对象实例。若需访问当前类的静态属性,可用 self:: 或 static::。
静态变量虽然方便,但也要注意:
的PHP代码。