2011-07-10 10 views
1

私はseperate php fileに1つのphp関数を持っていますが、jquery ajax callを使ってこの関数をfrom another php fileと呼んでいます。 php関数は静的な値を1だけインクリメントしますが、出力を見るとインクリメントされません。静的変数は、私が思うように動作しません。静的変数はPHPでインクリメントされません

その理由は何ですか?事前に

おかげで、

シンプルな機能:

function IncrementByOne() 
{ 
    static $count = 0; 

    $count++; 

    echo $count; 
} 

答えて

5

静的関数の変数は、関数間で永続的であるが、同じ要求の呼び出します。彼らは複数の要求にわたって価値を保持しません。

実際、これは魔法の$_SESSION変数を除いて、すべてのPHP変数に当てはまります。現在のリクエストが終了した後は常にリセットされます。

あなたは変数が複数の要求間で永続化したい場合は、あなたにそれを置くことができます:

  • memcachedを

    • セッション
    • データベース
    • フラットファイル
    • APC
    • ...
  • 関連する問題