什么是函数中的静态关键字?
w3school
通常,当一个函数完成/执行时,其所有变量 被删除。但是,有时我们希望不要将局部变量设为 已删除。我们需要它来做进一步的工作。
我不理解,谁能告诉我一些代码来理解它?
答案 0 :(得分:2)
static
有两种不同用途:
使方法或属性可访问,而无需实例化该类。
<?php
class Foo {
public static function aStaticMethod() {
// ...
}
}
Foo::aStaticMethod();
静态变量仅存在于局部函数作用域中,但是当程序执行离开该作用域时,它不会丢失其值。
<?php
function test()
{
static $a = 0;
echo $a;
$a++;
}
test(); // 0
test(); // 1
test(); // 2
无静态:
<?php
function test()
{
$a = 0;
echo $a;
$a++;
}
test(); // 0
test(); // 0
test(); // 0
在可能的情况下使用它是一个好习惯,而不是用垃圾填充全局范围。