PHPの静的ローカル変数

WBOY
リリース: 2016-07-29 09:13:46
オリジナル
1634 人が閲覧しました

静的ローカル変数はこれを行うことができます。この変数とグローバル変数はメモリの同じ領域に格納されますが、静的ローカル変数を宣言する関数がなければ変数にアクセスできませんが、変数は破棄されていません。保存に値する。関数が再度呼び出されると、再びアクセスできるようになります:
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>
ログイン後にコピー
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記では、グローバル変数と静的変数を含む、PHP の静的ローカル変数を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート