小编典典

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

all

我有这样的代码:

<?
    $a="localhost";
    function body(){
        global $a;
        echo $a;
    }

    function head(){
        global $a;
        echo $a;
    }

    function footer(){
        global $a;
        echo $a;
    }
?>

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


阅读 84

收藏
2022-07-17

共1个答案

小编典典

$GLOBALS可以使用数组代替:

$GLOBALS['a'] = 'localhost';

function body(){

    echo $GLOBALS['a'];
}

手册

一个关联数组,包含对当前在脚本全局范围内定义的所有变量的引用。变量名是数组的键。


如果您有一组需要一些公共变量的函数,那么具有属性的类可能是一个不错的选择,而不是全局:

class MyTest
{
    protected $a;

    public function __construct($a)
    {
        $this->a = $a;
    }

    public function head()
    {
        echo $this->a;
    }

    public function footer()
    {
        echo $this->a;
    }
}

$a = 'localhost';
$obj = new MyTest($a);
2022-07-17