static $myvar = $my_array[3];
我從來沒有需要使用靜態函數,直到現在。但我需要用它來要麼存儲返回值從function
或array
:
static $myvar = $my_array[3];
static $myvar = my_func();
爲什麼我不能這樣使用它?靜態只用於整數?
static $myvar = $my_array[3];
我從來沒有需要使用靜態函數,直到現在。但我需要用它來要麼存儲返回值從function
或array
:
static $myvar = $my_array[3];
static $myvar = my_func();
爲什麼我不能這樣使用它?靜態只用於整數?
像你沒有正確使用它看起來。請參閱PHP.net: Static Keyword。你需要在課堂中使用它。而且我不確定是否需要指定public
private
protected
。
我不知道,如果你正在尋找這樣的:
function foo() {
static $counter;
if(!$counter) {
$counter = 0;
}
$counter++;
echo $counter;
}
注意,在OOP編程使用的旁邊,static關鍵字可以使用在只應初始化函數體申報static variables一旦。
所以調用foo()
會給你下面的輸出,爲$counter
初始化僅在第一次foo()
被稱爲:在Static Variables
foo(); // 1
foo(); // 2
從頁面:
靜態聲明得到解決在編譯時。
請參閱鏈接頁面上的示例7。
這就是爲什麼你不能將$my_array[3]
分配給一個靜態變量。變量的內容在編譯時不知道。
哪裏有你應該使用'static'的信息? – hek2mgl 2013-04-30 18:19:57
因爲我希望變量在多次調用時存儲相同的值 – Nadine 2013-04-30 18:20:50
靜態變量只能保存靜態類型的值,函數的返回值或其他變量的值不是靜態的。查看我的答案瞭解更多詳情。 – Drahcir 2013-04-30 18:51:47