当前位置:Gxlcms > PHP教程 > php静态变量测试,初学php静态变量错误解析

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

  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

人气教程排行