如果未预定义全局变量,则抛出错误?

这可能是一个长镜头。


我用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 设置可以使函数抱怨/崩溃?我的项目很大,要跟踪每个变量的定义和使用位置变得越来越困难。产生错误会很有帮助。


吃鸡游戏
浏览 114回答 1
1回答

慕的地8271018

global关键字是范围修饰符。当您声明global $this_is_a_test;它时,如果它不存在,它会创建一个具有全局范围的变量。所以它工作得很好。有关更多详细信息,请查看文档。
打开App,查看更多内容
随时随地看视频慕课网APP