可能的重复项:
如何在函数中使用包含?
我有两个文件
公司.php文件
<?php
$var1 = "foo";
$var1 .= "bar";
?>
测试.php文件
<?php
function getcontent($file) {
include ($file);
}
getcontent('inc.php');
echo $var1;
?>
当我运行测试时.php它在输出中给了我错误
Notice: Undefined variable: var1 in 'www'test.php on line 7
但是当我将我的测试.php文件更改为此文件
<?php
include ('inc.php');
echo $var1;
?>
它的工作,并给我输出很好
foobar
当你这样做时
function getcontent($file) {
include ($file);
}
getcontent('inc.php');
它包括作为
function getcontent($file) {
$var1 = "foo";
$var1 .= "bar";
}
实际上,您的变量包含在函数内部,而在函数外部不可见,因此会出现错误消息。
看到这个 SO 答案。
当您将文件包含在 getcontent
函数中时,变量的行为就像它们在那里定义的那样,并且对外部不可见。
如果您将它们声明为 global
,它将起作用。
您必须将 $var 1 声明为全局变量。
global $var1;
$var1 = "foo";
$var1 .= "bar";
或
$GLOBALS['var1'] = "foo";
$GLOBALS['var1'] .= "bar";