例子,php静态变量的用法。
<?php
function myfunc()
{
static $int;
$int=0;
echo $int+1."<br/>";
}
echo myfunc();
echo myfunc();
echo myfunc();
?>
书中结果三个值分别为1,2,3
然而真实结果是无法运行,语法错误,后检查错误的原因在于$int+1."<br/>"这句的写法,应该写成($int+1)."<br/>",改过来后程序不报错了,但值却是1,1,1;其实这个也不难解释,$int虽然在不停的加1,但所得结果并没有再次赋给$int,谈什么$int会递增。
将代码修改为如下内容,才算正确了:
注意,static关键字必须和赋值在一起(php static静态变量修饰符的用法),如果按书中写在
错误,运行后的结果同样也是1,1,1