$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 關注
- 86 瀏覽
添加回答
舉報
0/150
提交
取消