首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在php中声明全局变量?

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

Stack Overflow用户
提问于 2012-11-23 21:51:45
回答 6查看 453.5K关注 0票数 187

我的代码是这样的:

代码语言:javascript
复制
<?
    $a="localhost";
    function body(){
        global $a;
        echo $a;
    }

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

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

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

EN

回答 6

Stack Overflow用户

发布于 2012-11-23 21:55:51

如果变量不打算更改,则可以使用define

示例:

代码语言:javascript
复制
define('FOOTER_CONTENT', 'Hello I\'m an awesome footer!');

function footer()
{
    echo FOOTER_CONTENT;
}
票数 84
EN

Stack Overflow用户

发布于 2018-03-29 01:09:54

如果变量是在函数外部声明的,那么它已经在全局作用域中了。所以不需要声明。但是您调用此变量的位置必须有权访问此变量。如果从函数内部调用,则必须使用global关键字:

代码语言:javascript
复制
$variable = 5;

function name()
{
    global $variable;
    
    $value = $variable + 5;
    
    return $value;  
 
}

在函数外部使用全局关键字并不是错误的。如果希望在函数中包含此文件,可以将变量声明为global

代码语言:javascript
复制
// config.php

global $variable;

$variable = 5;

代码语言:javascript
复制
// other.php

function name()
{
    require_once __DIR__ . '/config.php';
}

您也可以使用$GLOBALS。它是超全球的,所以它可以在任何地方访问。

代码语言:javascript
复制
$GLOBALS['variable'] = 5;

function name()
{
    echo $GLOBALS['variable'];
}

根据您的选择,您可以选择其中任何一个。

票数 35
EN

Stack Overflow用户

发布于 2012-11-23 21:55:58

将变量添加到$GLOBALS超级全局数组中,如下所示

代码语言:javascript
复制
$GLOBALS['variable'] = 'localhost'; 

并在全球范围内使用它

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

代码语言:javascript
复制
define('HOSTNAME', 'localhost');  
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13530465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档