为什么全局变量不需要初始化?

时间:2018-09-09 15:11:03

标签: php

我很惊讶地发现,全局变量在程序中可以使用之前不需要任何初始化。这是我的小片段,迫使我提出以下问题:

<?php
function set_variable()
{
    global $name;
    //$name = "admin";
}

set_variable();
?>

<input type="text" name="name" value="<?php echo $name; ?>" />

执行此代码后,一切正常。但是,如果我没有将变量name设置为全局变量,那么我会在文本框中看到Undefined variable: name。为什么全球性会产生巨大的变化?

1 个答案:

答案 0 :(得分:0)

如果在函数外部声明了变量,则该变量已在全局范围内。因此无需将变量声明为global。但是,如果从函数内部进行调用,则必须使用global关键字。这些变量在函数内部不可访问,除非您使用global声明它们。