$x = 5;$y = 10;function test($a, $b) { static $a, $b; return $a + $b;}print test($a, $b);为什么此代码打印 0 作为值?
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
关键字static不修改变量,它创建具有新值的新变量。看到这个:
$x = 5;
static $x;
var_dump($x);
$x = 6;
var_dump($x);
通过做:
static $a, $b;
您已使用新变量覆盖函数的输入值。由于两者都未定义(static $a, $b与 相同static $a=null, $b=null),因此null + null等于0输出。
- 1 回答
- 0 关注
- 72 浏览
添加回答
举报
0/150
提交
取消