当前位置:编程学习 > php >>

php中的#GLOBALS数组问题

先看看教程的代码:
<?php
  Function myfunction(){
      $GLOBALS["C"]=$GLOBALS["A"]+$GLOBALS["B"];
  }
?>
<html>
<title>GLOBALS数组</title>
<body>
<?php
    $A=1;
    $B=2;
    $C=3;
    Myfunction();
    Echo "\$A=$A,$B=$B,$C=$C;
?>
</body>
</html>
教程上写着:#GLOBALS数组的名称是:#GLOBALS   而声明方式为global,但是教程上的代码使用的却是:$GLOBALS而不是global,这是怎么回事?我试运行过了,能用,这点让我很困惑、、、
我去睡了,期待醒后能看到高手回答...
补充:请看清问题,教程上使用#GLOBALS不单单是变小写,还去掉了#和后面的“S”,而且教程上已经明确说明声明方式为:global

但教程在使用中却又用#GLOBALS声明、

我是新手,初次接触php,还请各位大神们讲得简单明了些、、谢谢了

答案:$GLOBALS 是PHP预定义的超级全局变量,就是说只要在这个PHP脚本中定义的变量都是$GLOBALS超级全局变量中的一个元素。而如果你要在 局部作用域(比如 function什么的方法中)中使用 全局脚本中定义的变量直接引用,就必须 在 局部作用域中使用 global进行变量声明。

<?php

function test(){

/*访问1

global $var;

echo '$var is: '.$var."\n";//通过 global 声明之后 直接访问

*/

/* 访问2

echo ‘$var is:'.$GLOBALS["var"]."\n";//通过$GLOBALS数组访问

*/

}

$var = "hello";

test();

 

?>

php在windows系统下英文字母大小写可以忽略,除了些比如超级变量$_GET不能 $_get
$globals对大小写不敏感 。

上一个:PHP怎么用绝对路径上传文件
下一个:PHP该怎么入手学起呢

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,