static $myvar = $my_array[3];
直到现在我才需要使用静态函数。但我需要使用它来存储 afunction
或a 的返回值array
:
static $myvar = $my_array[3];
static $myvar = my_func();
为什么我不能这样使用它?静态仅用于整数吗?
我不确定你是否正在寻找这个:
function foo() {
static $counter;
if(!$counter) {
$counter = 0;
}
$counter++;
echo $counter;
}
请注意,除了在 OOP 编程中的用法之外,static 关键字还可用于在函数体中声明静态变量,该函数体应仅初始化一次。
所以调用foo()
将给你以下输出,因为$counter
它只在第一次foo()
被调用时被初始化:
foo(); // 1
foo(); // 2
看起来你没有正确使用它。请参阅PHP.net:静态关键字。你需要在课堂上使用它。而且我不确定您是否需要指定public
private
protected
.
看看PHP 静态
静态用于 OOP