+ -
当前位置:首页 → 问答吧 → 为何STATIC位置不同,结果产生了不同

为何STATIC位置不同,结果产生了不同

时间:2011-11-27

来源:互联网

<?php
  function A( ){
STATIC $a=10;
$a+=10;
echo $a;
}
A( ); // 20
A( ); //20
?>
=====================================================================

<?php
  function A( ){
STATIC $a 
  $a=10;
$a+=10;
echo $a;

A( ); //20
A( ); //30
?>

作者: cutemurphy   发布时间: 2011-11-27

应该是第一个输出20 ,30 第二个 20,20

作者: jordan102   发布时间: 2011-11-27

运行了一下,楼主你恐怕把结果贴反了。如果是的话也就很容易明白
STATIC $a;
$a=10; // 每次调用开始都只能是10了

作者: dream1206   发布时间: 2011-11-27

第一个是 20/30...

作者: PhpNewnew   发布时间: 2011-11-27

前面发错了,是下面这样,做何解释:

<?php
  function A( ){
STATIC $a=10;
$a+=10;
echo $a;
}
A( ); // 20
A( ); //30
?>
=====================================================================

<?php
  function A( ){
  STATIC $a;
  $a=10;
$a+=10;
echo $a;
}  
A( ); //20
A( ); //20
?>

作者: cutemurphy   发布时间: 2011-11-27

相关阅读 更多