我在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;
}
答案 0 :(得分:2)
您应该阅读variable scope。 $tmp
变量是全局变量,在任何函数中都不可见,除非使用global
require('include\inc\config.inc');
function test(){
global $tmp;
echo $tmp;
}
答案 1 :(得分:0)
我不熟悉PHP,但你不能写:
require('include\inc\config.inc');
function test() use ($tmp) {
echo $tmp;
}
答案 2 :(得分:0)
您的变量超出了test()函数的范围,如前所述,并且使用全局变量不被视为良好做法。您需要将变量$ tmp传递给函数test(),如下所示: -
function test($tmp)
{
echo $tmp;
}
然后调用这样的函数: -
require_once 'include/inc/configure.inc'
test($tmp);