Heim  >  Artikel  >  Backend-Entwicklung  >  Statische lokale Variablen in PHP

Statische lokale Variablen in PHP

WBOY
WBOYOriginal
2016-07-29 09:13:461602Durchsuche

Statische lokale Variablen können dies tun. Diese Variable und globale Variable werden im selben Speicherbereich gespeichert, aber wir können nicht auf die Variable zugreifen, ohne die Funktion, die die statische lokale Variable deklariert , aber die Variable wird nicht zerstört, ihr Wert bleibt erhalten. Wenn die Funktion erneut aufgerufen wird, ist sie wieder verfügbar. Folgendes muss beachtet werden:
1. Beim Deklarieren einer statischen lokalen Variablen kann es sich nicht um einen Ausdruck handeln. Wenn es sich um einen Ausdruck handelt, tritt ein Fehler auf

<code><span>static</span><span>$index</span> = <span>1</span>;
<span>static</span><span>$index</span> = <span>5</span>;  <span>// 报错</span></code>

2. Beim Zuweisen eines Werts zu einer statischen Variablen , Sie können keinen Ausdruck

<code><span>static</span><span>$index</span> = <span>1</span> + <span>1</span>;  <span>// 报错</span></code>

3 verwenden. Wenn wir nur eine lokale Variable deklarieren, ohne einen Wert zuzuweisen, wird sie standardmäßig mit einer 0 oder einer leeren Zeichenfolge initialisiert Zeichenfolge wird anhand ihres Typs bestimmt

Beispiel:
Reduzieren Sie die Dimension des Arrays (auf eine Dimension)

<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); }); });

Das Obige stellt die statischen lokalen Variablen von PHP vor, einschließlich globaler Variablen und statischer Variablen. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn