2011-07-10 39 views
1

我在seperate php file上有一个php函数,我使用jquery ajax call来调用此函数from another php file。 PHP函数只是将其静态值增加1,但在看到输出时不会增加。静态变量不会像我想的那样行为。静态变量不会在PHP中增加

这是什么原因?

由于提前,

简单的函数:

function IncrementByOne() 
{ 
    static $count = 0; 

    $count++; 

    echo $count; 
} 

回答

5

静态函数变量在函数调用持久同样要求的。他们不会在多个请求中保留其价值。

事实上,这是所有PHP变量也是如此,除了魔法$_SESSION变量:当前请求结束后,他们总是复位。

如果你想有一个变量的多个请求之间持续存在,你可以把它分为:

  • 会话
  • 数据库
  • 一个平面文件
  • APC
  • memcached的
  • ...