首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php新手问题: web的全局变量

php新手问题: web的全局变量
EN

Stack Overflow用户
提问于 2011-03-29 00:41:57
回答 6查看 115关注 0票数 1

我想设置一些全局变量来存储一些东西。我试过这样做:

代码语言:javascript
复制
function init_web()
{
    $webname = "myweb";
    $web['webname'] = $webname;
    $web['server_root'] = $_SERVER['DOCUMENT_ROOT']."/$webname/"; 
    $web['lang']="en";
}

问题是我不能在函数中访问这些变量。我试过使用global $web;,但没有用。

让它全球化的诀窍是什么?

谢谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-29 00:44:26

虽然你会得到通常的“全局变量不好”的叫喊,但这里是基本的:

代码语言:javascript
复制
$web = array(); // define the var at the "top level" of the code tree, outside any functions/classes.
function init_web() {
    global $web; // make it visible in the function
    $web['lang'] = 'en'; // make some settings
}

基本上,您已经拥有了它,但是还没有在函数外部定义变量。只是在函数中说'global‘并不会在函数外神奇地创建一个--在你试图将它“内部化”到函数并更改/访问它的内容之前,它已经存在了。

票数 5
EN

Stack Overflow用户

发布于 2011-03-29 00:45:21

你在正确的轨道上:

代码语言:javascript
复制
$web = array();

function init_web()
{
    global $web;
    $webname = "myweb";
    $web['webname'] = $webname;
    $web['server_root'] = $_SERVER['DOCUMENT_ROOT']."/$webname/"; 
    $web['lang']="en";
}
票数 2
EN

Stack Overflow用户

发布于 2011-03-29 00:44:34

您可以将它们定义为常量

代码语言:javascript
复制
define('WEBNAME',"myweb");

并且可以在应用程序中的任何地方使用,因为默认情况下常量是全局的。

这是一种将常量存储为常量的方法,因为在迁移到新服务器或更改配置之前,它们不会动态更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5462229

复制
相关文章

相似问题

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