静的変数 

ローカル変数は、ユーザー定義関数を呼ぴ出した時点でメモリに作成され、関数が終了するとメモリから消えます。つまり、次回に同じ関数を呼び出したときには、 ローカル変数の値はリセットされることになります。             しかし場合によっては、ユーザー定義関数が終了しでも変数をメモリから消さず におきたいこともあります。たとえば、その関数が何回呼び出されたかを保存しておきたいような場合は、変数がメモリから消えると困ってしまいます。 そのようなときには、「静的変数Jという変数を使用します。静的変数を作成するには、 IstaticJというキーワードを使用して次のように書きます。 static変数名=初期値: 関数が初めて呼び出されたときには、その変数に初期値が代入されます。そして、それ以後はスクリプトが終了するまで変数がメモリに保存されます。
リスト 7・8は、静的変数を使用した関数の例です。変数$countを静的変数とし、

初期値に 0を代入しています。そして、関数が呼び出されるたびに $countの値を l 増やし、それを戻り値として返しています。したがって、関数が呼び出されるたび

に、 1、2、3・・・の値が返されることになります。

リ ス ト 7-8 静 的 変 教 の 例

1: functioncallcount()

2: {

3: static $count= 0;

4:             $count++;

5:     return  $count;

6:}