2011-07-10 67 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的
  • ...