请问为什么以下代码输出输出为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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
JavaScript