-1

可能であればこれについてさらに詳しく説明しますが、私が抱えている主な問題は、関数の外部で変数にアクセスできないことです。私は以下の両方の方法を試しました。

これが私の情報源です:

function register($rand, $code) {
    global $rand, $access_token;
    if ($code == $access_token)
        $rand = rand('100000','1000000');
}   

echo $rand;
4

5 に答える 5

1

それはあなたのための助けかもしれません

function register($rand, $code) {
    global $rand, $access_token;
    if ($code == $access_token) {
        $rand = rand('100000','1000000');
    }



return $rand;
} 

エコーレジスタ($ rand、$ code);

于 2013-03-25T06:18:07.230 に答える
0
function register($rand, $code) {
    if ($code == $access_token)
        $rand = rand('100000','1000000');
}   

次に、最初に関数を呼び出します

register('1','2');
 echo $rand;
于 2013-03-25T06:11:58.293 に答える
0

$GLOBALSやグローバル$varを使用する代わりに、引数を使用することを検討してください。推奨されるのは[これらの質問を見てください:12 ]。

function register($rand, $code, $access_token) {
    if ($code == $access_token){
      $rand = rand('100000','1000000');
    }
    return $rand;
}

echo register($rand, $code, $access_token);
于 2013-03-25T06:14:33.937 に答える
0

$rand変数にアクセスする前に関数を呼び出している場合は、正常に実行されるはずです。

function register($rand, $code) {
    global $rand, $access_token;
    if ($code == $access_token) {
        $rand = rand('100000','1000000');
    }
    echo "\nInside Function = ".$rand;
    echo $access_token;
}   

register(100, '');
echo "\nOutside Function = ".$rand;
于 2013-03-25T06:15:24.713 に答える
0

$ randを設定する前に、関数を呼び出す必要があります。関数内のグローバル$randは、register()を呼び出す前に値を設定しません。

<?php
    function register($rand, $code) {
        global $rand, $access_token;
        if ($code == $access_token)
            $rand = rand('100000','1000000');
    }   
    register('x', 'y');

    echo $rand;
?>

PHPが関数を呼び出す前にすべてのグローバル値を設定する場合は、次のことを考えてください。$ randは何に設定されますか?関数の1つが呼び出された場合にのみ意味があります。

<?php
function a() {
global $rand = 1;
}
function b() {
global $rand = 2;
}
于 2013-03-25T06:19:30.427 に答える