-1

ユーザー言語をチェックして変数に書き留める関数があります。しばらくして、変数を最初に使用する前にいつでも関数を呼び出す必要があるように、それらをマージするというアイデアが浮かびました。自己。しかし、「クロージャーオブジェクト」を返そうとしているため、機能しません。これは明確な関数であり、結果ではないと思います:(コードの重要な部分は次のとおりです。

$GLOBALS['user_language'] = function()
{
    return get_user_language();
}

function get_user_language()
{
    $user_language = 'en';
    $GLOBALS['user_language'] = $user_language;
    return $user_language;
}

//somewhere in the script
print_r($GLOBALS['user_language']);

私は'en'出て行きたいです、それ以上は何もありません。

4

2 に答える 2

1
function get_user_language()
{
    $user_language = 'en';
    $GLOBALS['user_language'] = $user_language;
    return $user_language;
}

$GLOBALS['user_language'] = get_user_language();


//somewhere in the script
print_r($GLOBALS['user_language']);

しかし、これは奇妙です。なぜなら、すでにセットしてget_user_language()から再び引っ張るからです。それはほとんどループを作成します。適切な方法は、おそらく$GLOBALS['user_language'] = $user_language;関数から を削除することです。

これがあなたの質問に答えることを願っています。

于 2013-06-11T00:02:33.663 に答える