如何将全局变量传递给函数中包含的文件


How to pass global variables to an included file in a function

function test_something() {
    global $test;
    echo '<div>';
    include("random_file.php");
    echo '</div>
}

random_file使用$test,但即使我将$test定义为全局,当我运行testrongomething

时,我也会得到未定义的变量$test错误。

我的实际示例在文件中包含大约20个变量,文件长500行。

您应该可以通过random_file.php中的global $test;$GLOBALS['test']访问它-据我所知,没有参数化的包含

编辑:你甚至应该能够使用$test as-is在你的包括,因为它已经本地绑定和包括继承范围

您不需要将变量传递给任何包含的文件,当您在主文件中声明变量时,您将包含其他文件…你可以在任何地方使用它:包含文件意味着复制主文件中的代码。

答案是在包含的文件中也定义$test一个全局变量

然后未定义的错误消失,可以使用$test