为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
临摹微笑 2019-08-31 10:44:50
我有这样的代码:<?    $a="localhost";    function body(){        global $a;        echo $a;    }    function head(){        global $a;        echo $a;    }    function footer(){        global $a;        echo $a;    }?>有没有办法在一个地方定义全局变量,并使变量$a可以在所有函数中同时访问?没有使用global $a;更多?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

$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);


查看完整回答
反对 回复 2019-08-31
?
萧十郎

TA贡献1815条经验 获得超13个赞

如果变量不会改变,你可以使用 define


例:


define('FOOTER_CONTENT', 'Hello I\'m an awesome footer!');


function footer()

{

    echo FOOTER_CONTENT;

}


查看完整回答
反对 回复 2019-08-31
?
跃然一笑

TA贡献1826条经验 获得超6个赞

在$ GLOBALS超全局数组中添加变量


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

并在全球使用它


或者您可以使用可在整个脚本中访问的常量


define('HOSTNAME', 'localhost');  


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 1705 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信