这可能是一个远景。
我用PHP编写了一些代码:
function test_dummy()
{
global $this_is_a_test;
$this_is_a_test = "test in progress";
}
error_log($this_is_a_test);
但是,我没有在调用$this_is_a_test
之前定义了test_dummy()
全局变量。然而,字符串"test in progress"
仍然会打印到第6行的日志中。
我知道为什么会发生这种情况,但是我的问题是:如果没有预先定义一个预期已存在的全局变量,是否有PHP设置会使函数抱怨/崩溃?我的项目很大,要跟踪定义和使用每个变量的位置变得很困难。产生错误会有所帮助。
答案 0 :(得分:2)
global
关键字是范围修饰符。声明global $this_is_a_test;
时,它将创建一个具有全局范围的变量(如果不存在)。
所以它运行良好。
有关更多详细信息,请检查the documentation。