前端PHP入门-013-变量作用域
目前,我们知道了几个不同的规矩:
- 函数定义时后括号里面接的变量是形式上的参数(形参),与函数体外的变量没有任何关系。仅仅是在函数内部执行
- 函数内声明的变量也与函数外的变量没关系。
但是,我们实际的处理情况中会遇到这样的一个情况:
- 我想在函数体内定义的变量在函数体外用
- 我想把函数体外的变量拿到函数体内来使用
1.通过$GLOBLAS来读取外部变量
<?php$one = 10;function demo(){$two = 100;$result = $two + $GLOBALS['one'];return $result;}//你会发现结果变成了110echo demo();?>
上例中:我们将函数体外的变量通过$GLOBALS拿到了函数体使用。所以,打破了函数外的变量不能在函数体内使用的限定。
2.通过$GLOBLAS,在函数内修改外部变量
<?php$pangsir = '我是一个兵,来自老百姓';function test(){echo '执行了函数test哟<br />';//调用test()函数,将通过$GLOBALS['pangsir'],把$pangsir 的值改变掉$GLOBALS['pangsir'] = '帮助别人很快乐';}test();//发现是不是输出的值变了呀?echo $pangsir;?>
通过上例:我们发现通过pangsir 的值改变掉,所以在最后输出$pangsir 的时候,值发生了变化。
3.通过$GLOBLAS,在函数内创建全局变量
<?phpfunction hello(){$GLOBALS['que'] = '提神喝茶更好哟';echo '你调了一下函数hello<br />';}hello();echo $que;?>
浙公网安备 33010602011771号