PHP static 关键词
定义和用法
static
关键字用于将类的属性和方法声明为静态的。静态属性和方法可以在不创建类的实例的情况下使用。
static
关键字还用于在函数中声明变量,这些变量在函数结束后会保留其值。
相关页面
实例
例子 1
创建和使用静态属性和方法:
<?php
class MyClass {
// 声明一个公共静态属性
public static $str = "Hello World!";
// 声明一个公共静态方法
public static function hello() {
// 使用 self 关键字或类名来访问静态属性
echo self::$str;
}
}
// 直接通过类名访问静态属性
echo MyClass::$str;
echo "<br>";
// 调用静态方法,该方法内部会访问静态属性并输出
echo MyClass::hello();
?>
注意:在上面的 hello
方法中,我们使用 self::$str
来访问静态属性。当然,你也可以使用类名 MyClass::$str
来访问,如示例中的直接访问方式。不过,使用 self
关键字的好处是,如果类名发生更改,你只需在类定义中更改一次即可,而不需要在类的所有方法中更改。
例子 2
在函数中使用静态变量:
<?php
function add1() {
// 声明一个静态变量,它会在函数调用之间保持其值
static $number = 0;
$number++;
return $number;
}
// 调用函数,输出 1
echo add1();
echo "<br>";
// 再次调用函数,输出 2,因为静态变量保持了其值
echo add1();
echo "<br>";
// 再次调用函数,输出 3
echo add1();
?>
在这个例子中,add1
函数中的 $number
变量被声明为 static
,这意味着它不会在函数调用结束时被销毁。相反,它的值会在函数调用之间持续存在,因此每次调用 add1
时都会增加并返回新的值。