정적 지역 변수가 이를 수행할 수 있습니다. 이 변수와 전역 변수는 동일한 메모리 영역에 저장되지만 정적 지역 변수를 선언하는 함수가 없으면 해당 변수에 접근할 수 없습니다. , 그러나 변수는 삭제되지 않고 해당 값은 유지됩니다. 함수가 다시 호출되면 다시 액세스할 수 있습니다. 주의할 점은 다음과 같습니다.
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 또는 빈 문자열로 초기화됩니다. 해당 유형으로
예:
배열의 차원을 한 차원으로 줄입니다.
<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>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
위에서는 전역변수, 정적변수를 포함한 PHP의 정적 지역변수에 대해 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.