0

関数内で呼び出した別の関数から、関数内で定義した変数を取得しようとしています。例:

$thevar = 'undefined';
Blablahblah();
echo $thevar; (should echo blaaah)
function Blahedit(){

     echo $thevar; (should echo blah)
     $thevar = 'blaaah';

}
function Blablahblah(){

     global $thevar;
     $thevar = 'blah';
     Blahedit();

}

パラメータをBlahedit()に渡さずにこれを行う別の方法があるかどうかを知りたい.

助けてください ):

4

3 に答える 3

0

blahedit内のグローバルな$thevarだけです。

function Blahedit(){
    global $thevar;
    echo $thevar; //(should echo blah)
    $thevar = 'blaaah';

}
于 2012-12-29T14:36:45.550 に答える
0

これを使用できます: http://php.net/manual/en/reserved.variables.globals.php

またはおっとを見てください

http://php.net/manual/en/language.oop5.php http://php.net/manual/en/language.oop5.basic.php

于 2012-12-29T14:31:23.657 に答える
0

変数を参照パラメーター(以下に示す) として渡したり、コードをクラスにカプセル化したり、変数をクラス属性として使用したり、変更された変数を関数に返させたりすることができます。

$thevar = 'undefined';
Blablahblah($thevar);
echo $thevar; 

function Blahedit(&$thevar){
     echo $thevar;
     $thevar = 'blaaah';
}

function Blablahblah(&$thevar){
     $thevar = 'blah';
     Blahedit($thevar);
}

関数内でグローバルを使用することは、悪い習慣と見なされます。ただし、多くの変数を参照渡しするのもスタイルとしては適切ではありません。

コードをそのまま動作させたい場合は、global $thevar編集機能に a を追加する必要があります。

function Blahedit(){
     global $thevar;
     echo $thevar; (should echo blah)
     $thevar = 'blaaah';
}
于 2012-12-29T14:33:16.477 に答える