9

構成ファイルに次のような構造があります。

<?php
if (true) {
    $nonstatic = 1;
    static $config = 1;
}
else {
    $nonstatic = 2;
    static $config = 2;
}

echo $nonstatic;
echo $config;
?>

では、ステートメントのこの部分が false で $nonstatic に 1 が含まれているのに、なぜ $config に 2 が含まれているのでしょうか? バグですか?

4

1 に答える 1

11

このチャンクは関数から含まれていると思います。

静的変数の初期化はコンパイル時に解決され、インタープリターが複数の初期化を見つけた場合、単純に一番下の 1 つを取ります

于 2011-09-13T16:21:09.460 に答える