首页  >  文章  >  后端开发  >  php静态变量测试,初学php静态变量错误解析

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

WBOY
WBOY原创
2016-07-25 08:52:35886浏览
  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



声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn