如何在php中声明一个全局变量?

我有这样的代码:


<?

    $a="localhost";

    function body(){

        global $a;

        echo $a;

    }


    function head(){

        global $a;

        echo $a;

    }


    function footer(){

        global $a;

        echo $a;

    }

?>

有没有办法在一个地方定义全局变量,并使变量$a可以在所有函数中同时访问?没有使用global $a;更多?


临摹微笑
浏览 1706回答 3
3回答

慕斯709654

$GLOBALS可以使用该数组:$GLOBALS['a'] = 'localhost';function body(){&nbsp; &nbsp; echo $GLOBALS['a'];}从手册:一个关联数组,包含对当前在脚本全局范围内定义的所有变量的引用。变量名是数组的键。如果您有一组需要一些公共变量的函数,那么具有属性的类可能是一个不错的选择而不是全局:class MyTest{&nbsp; &nbsp; protected $a;&nbsp; &nbsp; public function __construct($a)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $this->a = $a;&nbsp; &nbsp; }&nbsp; &nbsp; public function head()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; echo $this->a;&nbsp; &nbsp; }&nbsp; &nbsp; public function footer()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; echo $this->a;&nbsp; &nbsp; }}$a = 'localhost';$obj = new MyTest($a);

萧十郎

如果变量不会改变,你可以使用 define例:define('FOOTER_CONTENT', 'Hello I\'m an awesome footer!');function footer(){&nbsp; &nbsp; echo FOOTER_CONTENT;}

跃然一笑

在$ GLOBALS超全局数组中添加变量$GLOBALS['variable'] = 'localhost';&nbsp;并在全球使用它或者您可以使用可在整个脚本中访问的常量define('HOSTNAME', 'localhost');&nbsp;&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP