-1

グローバル変数を使用して、ある関数の値を使用して、関数を呼び出さに他の関数に渡すにはどうすればよいですか?

お気に入り

$toshik;
function one()
{
  global $toshik;
  $toshik=2;
}

function two()
{
 one();
  global $toshik;
  echo $toshik; [//this should give value as **2**]
}
?>
4

4 に答える 4

2

1番目:あなたはおそらくglobal $toshik;あなたの関数を意味していました。

2番目:それはできません。関数は呼び出されることを意図しています。呼び出すまで何もしないので、当然、変数は設定されません。

関数から1つの変数だけが必要で、残りは必要ない場合は、次のようないくつかの条件を設定し、function one( $set = false )その後、関数を変更して、変数のみを設定します$set == true

于 2013-01-18T12:42:19.963 に答える
1

試す

$var = 1;
foo();     // outputs: 1
bar();     // outputs: 2
echo $var; // outputs: 3

function foo() {
    global $var;
    echo $var; // -> 1
    $var++;
}


function bar() {
    global $var;
    echo $var; // -> 2
    $var++;
}

あなたは私の答えの後にあなたの質問を更新しました。あなたが投稿したものはうまくいくはずです。もちろん、関数を呼び出す必要があります。

于 2013-01-18T12:41:14.630 に答える
0

ここには2つのシナリオがあります(コードのフォローアップ)。

// file 1
two(); // echoes nothing
// file 2
one();
two(); // echo 2

第三の道はありません。ちなみに何を成し遂げようとしていますか?

于 2013-01-18T12:42:56.140 に答える
0

valriableのリファレンスを試してみてください...。

$toshik;
function one(&$toshik){
  global $toshik;
  $toshik=2;
}
function two(){
  global $toshik;
  one();
  echo $toshik; 
}
two();

于 2013-01-18T13:27:50.660 に答える