Maison  >  Article  >  développement back-end  >  php静态变量测试,初学php静态变量错误解析

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

WBOY
WBOYoriginal
2016-07-25 08:52:35935parcourir
  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



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn