PHP 中的静态关键字打印 0 值

$x = 5;

$y = 10;

function test($a, $b) {

   static $a, $b;

   return $a + $b;

}

print test($a, $b);

为什么此代码打印 0 作为值?


慕仙森
浏览 73回答 1
1回答

梵蒂冈之花

关键字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输出。
打开App,查看更多内容
随时随地看视频慕课网APP