php函数没有包含

时间:2012-08-24 10:42:47

标签: php function

我在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;    
    }

3 个答案:

答案 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);