php不停的声明静态变量问题

WBOY
Freigeben: 2016-06-06 20:21:26
Original
1159 Leute haben es durchsucht

<code><?php static $arr=array();
    $arr[]=1;
    static $arr=array();
    $arr[]=2;

    static $arr=array();
    $arr[]='haha';
        var_dump($arr);</code></code>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果是
php不停的声明静态变量问题

如果去掉静态static的话

<code>$arr=array();
$arr[]=1;
$arr=array();
$arr[]=2;

$arr=array();
$arr[]='haha';
    var_dump($arr);</code>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果是:
php不停的声明静态变量问题

~,为什么静态变量重复声明了多次,也相当于只声明了一次呢???~

回复内容:

<code><?php static $arr=array();
    $arr[]=1;
    static $arr=array();
    $arr[]=2;

    static $arr=array();
    $arr[]='haha';
        var_dump($arr);</code></code>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果是
php不停的声明静态变量问题

如果去掉静态static的话

<code>$arr=array();
$arr[]=1;
$arr=array();
$arr[]=2;

$arr=array();
$arr[]='haha';
    var_dump($arr);</code>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果是:
php不停的声明静态变量问题

~,为什么静态变量重复声明了多次,也相当于只声明了一次呢???~

静态变量固定了在内存中的地址,非静态变量的内存地址没有被固定,可以被更改

通常意义上静态变量是静态分配的,他们的生命周期和程序的生命周期一样, 只有在程序退出时才结束期生命周期,这和局部变量相反,有的语言中全局变量也是静态分配的。 例如PHP和Javascript中的全局变量。

可以看一本书 http://www.php-internals.com/book/?p=chapt03/03-04-static-var
会对你有帮助的

声明和赋值是不一样的,比如

<code><?php static $arr=array();
$arr[]=1;
static $arr=array();
$arr[]=2;

static $arr=array();
$arr = array();
$arr[]='haha';
var_dump($arr);</code></code>
Nach dem Login kopieren

运行结果为:

<code>array(1) { [0]=> string(4) "haha" }
</code>
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage