0

私は通常、次のようなコードを問題なく実行します。

$ZANE_REGISTER_RULES='this wont print';
myTest();

function myTest()
    {
    **global $ZANE_REGISTER_RULES**;
    $ZANE_REGISTER_RULES='this will actually print';
    }

echo $ZANE_REGISTER_RULES; //will print "this will actually print"

しかし、いつか (例: これを phpBB ページ内に配置した場合)、最初にグローバル変数を宣言しない限り、これは機能しません (エコーは「これは印刷されません」と言います)。

**global $ZANE_REGISTER_RULES**;
$ZANE_REGISTER_RULES='my rulessssssssssssssss';
myTest();

function myTest()
    {
    **global $ZANE_REGISTER_RULES**;
    $ZANE_REGISTER_RULES='funziona';
    }

echo $ZANE_REGISTER_RULES; //will print "this will actually print"

最初の方法は正しい方法であり、2 番目の方法は何も意味しないと確信していますが、2 番目の方法は機能しますが、最初の方法は機能しません。

「グローバルは悪いプログラミングだ」と答えて時間を無駄にしないでください。これは明らかに例だからです。

4

1 に答える 1