-1

私はindex.phpにこれを持っています

require('include\inc\config.inc');

config.inc からいくつかの変数を必要とする関数を作成したときに、実行すると、変数が見つからないというメッセージが表示されます。config.inc を再宣言する必要があります。そうしないと、関数は機能しません。回避する方法はありますか?今、私はこれを持っています

function test(){
require('include\inc\config.inc');
echo $tmp;    
}

それ以外の

   require('include\inc\config.inc');
   function test(){    
    echo $tmp;    
    }
4

3 に答える 3

2

変数のスコープについて読む必要があります。変数はグローバルであり、$tmp宣言されていない限り、どの関数内でも表示されませんglobal

require('include\inc\config.inc');
function test(){    
global $tmp;
echo $tmp;    
}
于 2012-08-24T10:44:24.147 に答える
0

私はPHPに堪能ではありませんが、あなたは書くことができません:

require('include\inc\config.inc');
function test() use ($tmp) {
  echo $tmp;
}
于 2012-08-24T10:48:14.207 に答える
0

前述のように、変数は test() 関数の範囲外であり、グローバルを使用することはお勧めできません。次のように、変数 $tmp を関数 test() に渡す必要があります。

function test($tmp)
{
    echo $tmp;
}

次に、次のように関数を呼び出します:-

require_once 'include/inc/configure.inc'
test($tmp);
于 2012-08-24T10:53:25.293 に答える