欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php静态变量测试,初学php静态变量错误解析

程序员文章站 2022-05-12 17:25:50
...
  1. function myfunc()

  2. {
  3. static $int;
  4. $int=0;

  5. echo $int+1."
    ";

  6. }
  7. echo myfunc();
  8. echo myfunc();
  9. echo myfunc();
  10. ?>

复制代码

书中结果三个值分别为1,2,3 然而真实结果是无法运行,语法错误,后检查错误的原因在于$int+1."
"这句的写法,应该写成($int+1)."
",改过来后程序不报错了,但值却是1,1,1;其实这个也不难解释,$int虽然在不停的加1,但所得结果并没有再次赋给$int,谈什么$int会递增。

将代码修改为如下内容,才算正确了:

  1. function myfunc()
  2. {
  3. static $int=0; //php静态变量定义
  4. $int=$int+1;
  5. echo $int."
    ";
  6. }
  7. echo myfunc();
  8. echo myfunc();
  9. echo myfunc();
  10. ?>
复制代码

注意,static关键字必须和赋值在一起(php static静态变量修饰符的用法),如果按书中写在

staitc $int; $int=0;

错误,运行后的结果同样也是1,1,1