全局变量和局部变量(global关键字)
1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3、函数之间存在作用域互不影响。
4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖。
<?php function dd(){ // global声明全局变量 global $a,$b; $a = $a+10; $b= $b+10; } $a =1; $b=1; echo '调用函数前<br>'; echo 'a='.$a.'<br>'; echo 'b='.$b.'<br>'; echo '调用函数后<br>'; dd(); echo 'a='.$a.'<br>'; echo 'b='.$b.'<br>'; ?>
<?php function dd(){ // $globals 声明数组全局变量 //@符号 阻止警告输出。 //有些函数,在遇到入参不正确时,会提示警告,但程序也可以正常运行。 //其实只要把警告去掉就可以,所以就有@这个符号。 @$globals['c'] = $GLOBALS['a']+$GLOBALS['b']; } $c=0; $a=1; $b=2; dd();//调用函数 echo "\$a=".$a.",\$b=".$b.",\$c=".$c; ?>
原文链接:https://www.qiquanji.com/post/7150.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知