首页 > 解决方案 > 为什么全局变量不需要初始化?

问题描述

令我惊讶的是,全局变量不需要任何初始化就可以在程序中使用。这是我的小片段,迫使我问这个问题:

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

set_variable();
?>

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

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

标签: php

解决方案


如果变量在函数外部声明,则它已经在全局范围内。所以没有必要将变量声明为全局变量。但是如果你从函数内部调用,你必须使用全局关键字。除非你用全局声明它们,否则这些变量在函数内部是不可访问的。


推荐阅读