全局变量和局部变量(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
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知



