我有两个文件
inc.php文件
<?php
$var1 = "foo";
$var1 .= "bar";
?>
test.php文件
<?php
function getcontent($file) {
include ($file);
}
getcontent('inc.php');
echo $var1;
?>
当我运行test.php时,它会在输出中给出错误
Notice: Undefined variable: var1 in \www\test.php on line 7
但是当我将test.php文件更改为此
时<?php
include ('inc.php');
echo $var1;
?>
它的作品,并给我输出精美
foobar
答案 0 :(得分:1)
当你这样做时
function getcontent($file) {
include ($file);
}
getcontent('inc.php');
它包含为
function getcontent($file) {
$var1 = "foo";
$var1 .= "bar";
}
实际上你的变量被包含在函数内部并且在函数外部不可见,因此会出现错误消息。
答案 1 :(得分:0)
您必须将$ var1声明为全局变种。
global $var1;
$var1 = "foo";
$var1 .= "bar";
或强>
$GLOBALS['var1'] = "foo";
$GLOBALS['var1'] .= "bar";
答案 2 :(得分:0)
当您将文件包含在getcontent
函数中时,vars的行为就像在那里定义的那样,并且对外部不可见。
如果你将它们声明为global
,那就可以了。