static(静的)変数
1
2
<?php function test_func(){ static $a = 0; $a ++; return $a; } $val = test_func(); echo "<div>{$val}</div>"; $val = test_func(); echo "<div>{$val}</div>";
本来、関数内で定義された変数は、呼び出されるたびに、初期化され、再定義されるので何度呼び出しても同じ値になるのですが、
とすることで対象の変数は値を保持するようになり、再度呼び出されたときは、再定義されず関数の終了時点での値となります。
static 変数名=値
とすることで対象の変数は値を保持するようになり、再度呼び出されたときは、再定義されず関数の終了時点での値となります。