注意:未定义的变量:第 7 行 www est.php 中的 var1


Notice: Undefined variable: var1 in www est.php on line 7

可能的重复项:
如何在函数中使用包含?

我有两个文件

公司.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";