-
-
function myfunc() - {
- static $int;
$int=0;
- ";
- }
- echo myfunc();
- echo myfunc();
- echo myfunc();
?>< ;/p> コードをコピー 本の中の 3 つの値はそれぞれ 1、2、3 です
しかし、実際の結果は実行できず、構文が間違っているため、$int+1." " という文が ($int+1) として記述される必要があります。 "。変更後、プログラムはエラーを報告しなくなりました。しかし、値は 1、1、1 です。実際、これを説明するのは難しくありません。$int は 1 を加算し続けますが、結果は に代入されません。 $int が再び増加するのはなぜですか?
正しくなるようにコードを次のように変更します。
- function myfunc()
- {
- static $int=0; //php 静的変数定義
- $int=$int+1;
- echo $int."
} - echo myfunc();
- echo myfunc();
- echo myfunc();
- ?>
コードをコピー
static キーワードは割り当てと一緒に指定する必要があることに注意してください (php static static変数修飾子の使用法)、本に書かれている場合
staitc $int;
$int=0;
エラー、実行後の結果も1、1、1です
|