猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
请问为什么以下代码输出输出为1 2 3 ?不是很理解
function foo() { static $a; $a++; echo "$a\n"; unset($a); } foo(); foo(); foo();
青春有我
浏览 121
回答 1
1回答
肥皂起泡泡
1,$a是静态成员,生命期和进程一样,所以每次进到foo函数访问到的都是同一个2,每次调用$a都进行了++操作3,unset函数调用采用的是形参方式,并不会修改$a的值。所以每次调用,$a的值加1,所以是123
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续