为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么以下代码输出输出为1 2 3 ?不是很理解

请问为什么以下代码输出输出为1 2 3 ?不是很理解

青春有我 2022-01-02 10:06:23
function foo() { static $a; $a++; echo "$a\n"; unset($a); } foo(); foo(); foo();
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

1,$a是静态成员,生命期和进程一样,所以每次进到foo函数访问到的都是同一个
2,每次调用$a都进行了++操作
3,unset函数调用采用的是形参方式,并不会修改$a的值。
所以每次调用,$a的值加1,所以是123

查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信