0

static $myvar = $my_array[3];

今まで静的関数を使用する必要はありませんでした。functionただし、 aまたはa からの戻り値を格納するために使用する必要がありますarray

static $myvar = $my_array[3];

static $myvar = my_func();

なんでこんなに使えないの?static は整数にのみ使用されますか?

4

4 に答える 4

2

あなたがこれを探しているかどうかはわかりません:

function foo() {
    static $counter;
    if(!$counter) {
        $counter = 0;
    }

    $counter++;
    echo $counter;
}

OOP プログラミングでの使用に加えて、 static キーワードを使用して、一度だけ初期化する必要がある関数本体で静的変数を宣言できることに注意してください。

したがって、 を呼び出すと、最初に呼び出されたときにのみ初期化foo()されるため、次の出力が得られます。$counterfoo()

foo(); // 1
foo(); // 2
于 2013-04-30T18:22:37.307 に答える
0

PHP静的を見てください

静的は OOP 用です

于 2013-04-30T18:19:34.167 に答える
0

使い方が間違っているようです。PHP.net: Static Keywordを参照してください。クラス内で使用する必要があります。を指定する必要があるかどうかはわかりませんpublic private protected

于 2013-04-30T18:21:33.323 に答える
0

Static Variablesのページから:

静的宣言はコンパイル時に解決されます。

リンクされたページの例 7 を参照してください。

$my_array[3]これが、静的変数に代入できない理由です。変数の内容は、コンパイル時にはわかりません。

于 2013-04-30T18:43:48.267 に答える