静的ローカル変数はこれを行うことができます。この変数とグローバル変数はメモリの同じ領域に格納されますが、静的ローカル変数を宣言する関数がなければ変数にアクセスできませんが、変数は破棄されていません。保存に値する。関数が再度呼び出されると、再びアクセスできるようになります:
1. 静的ローカル変数を宣言する場合、式の場合はエラーになります
<code><span>static</span><span>$index</span> = <span>1</span>; <span>static</span><span>$index</span> = <span>5</span>; <span>// 报错</span></code>
2. 値を代入する場合静的変数は、式を使用することはできません
<code><span>static</span><span>$index</span> = <span>1</span> + <span>1</span>; <span>// 报错</span></code>
3.値を割り当てずにローカル変数を宣言するだけです。デフォルトで 0 または空の文字列で初期化され、その型に応じて 0 か空の文字列かを決定します
例:
配列の次元を削減します (1 次元に)
<code><span><span>class</span><span>Test</span>{</span><span>public</span><span><span>function</span><span>reduce_arr</span><span>(<span>$arr</span>)</span> {</span><span>static</span><span>$temp</span> = <span>array</span>(); <span>// 声明了一个静态局部变量</span><span>foreach</span> (<span>$arr</span><span>as</span><span>$key</span> => <span>$val</span>) { <span>if</span> (is_array(<span>$val</span>)) { <span>$this</span>->reduce_arr(<span>$val</span>); } <span>else</span> { <span>$temp</span>[<span>$key</span>] = <span>$val</span>; } } <span>return</span><span>$temp</span>; } } <span>$test</span> = <span>new</span> Test(); <span>$arr</span> = <span>array</span>( <span>'0'</span>=><span>array</span>( <span>'good_id'</span>=><span>1</span> ), <span>'1'</span>=><span>array</span>( <span>'good_num'</span>=><span>2</span> ), <span>'2'</span>=><span>array</span>( <span>'good_ids'</span>=><span>2</span> ) ); var_dump(<span>$test</span>->reduce_arr(<span>$arr</span>)); <span>// 此时得到的是一个一维数组</span></code>
上記では、グローバル変数と静的変数を含む、PHP の静的ローカル変数を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。