自学PHP随感随记之static静态变量

版权声明:原创文章,转载需注明本出处。 https://blog.csdn.net/silenty/article/details/84313571

情形1:

<HTML>
<HEAD>
    <TITLE>静态变量static</TITLE>
</HEAD>
<BODY>
<?php
   $person = 20;
   function showpeople(){ 
      static $person=5;
      $person = 11;
      $person++;
      echo $person.' <br>';
  }
  showpeople();
  echo $person.' <br>';
  showpeople();
?>
</BODY>
<HTML>

运行结果:

12 
20 
12 

稍作改变,情形2:

<HTML>
<HEAD>
    <TITLE>静态变量static</TITLE>
</HEAD>
<BODY>
<?php
   $person = 20;
   function showpeople(){ 
      $person = 11;
      static $person=5;
      $person++;
      echo $person.' <br>';
  }
  showpeople();
  echo $person.' <br>';
  showpeople();
?>
</BODY>
<HTML>

运行结果:

6 
20 
7

结论:

        函数内部同名变量与静态变量并存时,赋值操作的先后顺序至关重要,我谓之为“后入为主”。情形1中,函数中后赋值的是变量,故其后的echo按变量来运行;情形2中,函数中后赋值的是静态变量,故其后的echo按静态变量来运行。

猜你喜欢

转载自blog.csdn.net/silenty/article/details/84313571