好吧我对静态关键字
有疑问根据下面的w3wchools.com
通常,当函数完成/执行时,其所有变量都将被删除。但是,有时我们希望删除局部变量。我们需要它来做进一步的工作。
为此,请在首次声明变量时使用static关键字:
//w3school code below
function myTest() {
static $x = 0;
echo $x;
$x++;
myTest();
myTest();
myTest();
}
现在这样做基本上是使用++增量运算符计数0,1,2。很好,它做静态的定义描述它做什么
现在如果我基本上以另一种方式做同样的事情,我的代码在下面...... $ x不会增加它只是保持在0。
//my code version below
function myTest() {
static $x = 0;
echo $x;
$x + 1;
myTest();
myTest();
myTest();
}
这些基本上是在理论上做同样的事情
w3schools版本使用++运算符将$ x递增1。增量意味着添加
我的版本使用+运算符添加1 ...并添加添加的方法
因此可以肯定地说静态仅适用于增量运算符 而不是基本的数学运算符?
答案 0 :(得分:0)
这与static
关键字无关。代码$x+1
根本不会更改$x
的值,因此它永远不会增加。 $x+=1
或$x = $x + 1
会产生你想要的效果。