function &test(){ static $b=0; $b= $b+1; return $b; } $a= test(); echo $a,"\n"; $a = 3; $a= test(); echo $a,"\n"; $a = &test(); echo $a,"\n"; $a= 10; $a= test(); echo $a,"\n";
结果:
test()函数引用返回就是 $a 引用$b 同一个内存地址区域 因此改变$a的值 $b的值同时改变 结果改变
static静态局部变量 不会随着函数的调用(调用过程中不操作)和退出而发生改变 调用结束该变量继续存在但是不能使用它; 不能用表达式初始化静态变量
静态全局变量 只能在定义它的文件中使用 不能在其它文件中调用 即static限定了它的作用域。
原文地址:https://www.cnblogs.com/yongbuyanhui/p/9556067.html
时间: 2024-11-05 12:19:48