3
我在第三方代码中看到一个变量声明为静态,但在任何类之外,只是在“正常”函数中。PHP:类之外的静态变量
<?php
function doStuff(){
static $something = null;
}
?>
我从来没有见过static
用这种方式,我无法找到任何东西的PHP文档。
这是合法的PHP代码吗?这与全局变量有效吗?如果不是,目的是什么?
我在第三方代码中看到一个变量声明为静态,但在任何类之外,只是在“正常”函数中。PHP:类之外的静态变量
<?php
function doStuff(){
static $something = null;
}
?>
我从来没有见过static
用这种方式,我无法找到任何东西的PHP文档。
这是合法的PHP代码吗?这与全局变量有效吗?如果不是,目的是什么?
变量范围的另一个重要特性是静态变量。 静态变量仅存在于本地函数作用域中,但当程序执行离开此作用域时,其确实不会丢失其值。现在
<?php function test() { static $a = 0; echo $a; $a++; } ?>
,$一个只在功能和每一次 测试()函数被调用时都会输出$ a和 增加它的价值第一次调用初始化。
@Fraser Nope。它只被初始化一次。 – deceze
@Fraser我从PHP手册引用了我的整个答案。如果您不同意,请联系他们:)。 – kapa
我会请downvoter陈述他的理由 - 我会很乐意提高我的答案。 – kapa