php中全局关键字和数组的区别是什么

php中全局关键字和数组的区别是什么,php,Php,我必须更改脚本以在禁用全局变量的服务器上运行 所以我想知道这是否不起作用: function setData(){ echo $GLOBALS['data']; } 这样行吗 function setData(){ global $data; echo $data; } 如果没有,解决方案是什么?你在说什么?这并不是禁用所有全局变量,它只是禁用请求参数中全局变量的设置 这意味着,如果有人进入这样的页面:index.php?admin=1,那么在index.php中,全局变量$ad

我必须更改脚本以在禁用全局变量的服务器上运行

所以我想知道这是否不起作用:

function setData(){
  echo $GLOBALS['data'];
}
这样行吗

function setData(){
  global $data;
  echo $data;
}
如果没有,解决方案是什么?

你在说什么?这并不是禁用所有全局变量,它只是禁用请求参数中全局变量的设置

这意味着,如果有人进入这样的页面:
index.php?admin=1
,那么在
index.php
中,全局变量
$admin
将设置为
1
。这是你通常不想要的。它不会停止全局变量的工作

正如榴弹中校在评论中所说,
$\u GLOBALS
不起作用,因为阵列的名称是。

你在说什么?这并不是禁用所有全局变量,它只是禁用请求参数中全局变量的设置

这意味着,如果有人进入这样的页面:
index.php?admin=1
,那么在
index.php
中,全局变量
$admin
将设置为
1
。这是你通常不想要的。它不会停止全局变量的工作


正如上校在评论中所说,
$\u GLOBALS
不起作用,因为阵列的名称是。

最简单的方法就是简单地尝试一下。。。回答您的问题:我非常确定
global$data
无论如何都应该起作用-我不知道有没有可能禁用它,但也许有一种方法可以禁用
$\u GLOBAL
-数组(我不确定,但如果我没有误解您的问题,您正在使用这种可能性-或者,正如Skilldrick所说,您的意思完全不同)对你来说,最简单的方法就是简单地尝试一下。。。回答您的问题:我非常确定
global$data
无论如何都应该起作用-我不知道有没有可能禁用它,但也许有一种方法可以禁用
$\u GLOBAL
-数组(我不确定,但如果我没有误解您的问题,您正在使用这种可能性-或者,正如Skilldrick所说,您的意思完全不同)

没有
$\u GLOBAL
而是
$GLOBALS
。没有区别。这两种方法都有效。您不能禁用其中任何一个。当您说“全局变量已禁用”时,您的意思是“注册全局变量”?没有
$\u Global
而是
$globals
。没有区别。这两种方法都有效。你不能禁用任何这些。当你说“全局变量被禁用”时,你是指“注册全局变量”吗?就是说,我不能在我的服务器中使用$\u Global,我只是想知道为什么?@Omeid你没有读到你帖子上的第一条评论吗?没有
$\u GLOBAL
只是
$GLOBALS
@Skilldrick,您是否检查了代码,确定它现在是$\u GLOBALS而不是$\u GLOBALS?我只是有点赶时间,所以我总是想念S;)@Omeid。暂停呼吸阅读<代码>$GLOBALS。没有下划线。@skilldrick:哈哈,现在我明白了!你知道,
$\u服务器,$\u会话,$\u获取,$\u发布
所有这些超级全局文件都是这种格式的,所以我一直在想,谢谢你指出。就是这样,我不能在我的服务器中使用$\u全局文件,我只是想知道为什么?@Omeid你没有读到你文章的第一条评论吗?没有
$\u GLOBAL
只是
$GLOBALS
@Skilldrick,您是否检查了代码,确定它现在是$\u GLOBALS而不是$\u GLOBALS?我只是有点赶时间,所以我总是想念S;)@Omeid。暂停呼吸阅读<代码>$GLOBALS。没有下划线。@skilldrick:哈哈,现在我明白了!你知道,
$\u服务器,$\u会话,$\u获取,$\u发布
所有这些超级全局文件都是这种格式的,所以我一直在想这个问题,谢谢你指出。