global和$GLOBALS

一般来说,我们普通函数的写法:

1.function test() {

  $a='3';

      echo $a;

}

test();

此处输出为$a为3;

2.全局下使用局部global(global要写在定义之前)

function test2()

{

  //global $a;

  $a='呵呵';

}

test2();

echo $a;

如果需要echo 出$a 就需要在函数内部的变量前加global;

3.$GLOBALS的用法(局部下,使用全局变量)

$b='233';

function test3() {

  echo $GLOBALS['b'];

} test3();

变量在外部,在函数内echo $GLOBALS['b'],可以获取到函数外部的值

进阶题:

 $b='xx1';

 function test4()

{

  global $b;

  echo $b;

}

test4();

为什么这个可以输出xx1?

答案:待定(个人理解global定义$b的瞬间,想当于把global推送出去,$b在函数外部有值,就相当于获取到了内存地址,得到了值。)

标准答案可参考:https://blog.csdn.net/daijiguo/article/details/46878835

(此上为个人整理的全部内容,若有不懂或有地方写错了,加qq:1104382178指出,谢谢。)

文档百度云地址:链接:https://pan.baidu.com/s/1VqoipBbVTm0asrzuNwvTtw 密码:d3yz

posted @ 2018-06-26 00:01  SAO灬小白熊  阅读(117)  评论(0)    收藏  举报