Heim  >  Artikel  >  Backend-Entwicklung  >  php静态变量测试,初学php静态变量错误解析

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

WBOY
WBOYOriginal
2016-07-25 08:52:35886Durchsuche
  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



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn