static $myvar = $my_array[3];
今まで静的関数を使用する必要はありませんでした。function
ただし、 aまたはa からの戻り値を格納するために使用する必要がありますarray
。
static $myvar = $my_array[3];
static $myvar = my_func();
なんでこんなに使えないの?static は整数にのみ使用されますか?
あなたがこれを探しているかどうかはわかりません:
function foo() {
static $counter;
if(!$counter) {
$counter = 0;
}
$counter++;
echo $counter;
}
OOP プログラミングでの使用に加えて、 static キーワードを使用して、一度だけ初期化する必要がある関数本体で静的変数を宣言できることに注意してください。
したがって、 を呼び出すと、最初に呼び出されたときにのみ初期化foo()
されるため、次の出力が得られます。$counter
foo()
foo(); // 1
foo(); // 2
PHP静的を見てください
静的は OOP 用です
使い方が間違っているようです。PHP.net: Static Keywordを参照してください。クラス内で使用する必要があります。を指定する必要があるかどうかはわかりませんpublic
private
protected
。
Static Variablesのページから:
静的宣言はコンパイル時に解決されます。
リンクされたページの例 7 を参照してください。
$my_array[3]
これが、静的変数に代入できない理由です。変数の内容は、コンパイル時にはわかりません。