2012-04-22 79 views

回答

2

一个静态变量只意味着var属于一个类,但可以被引用而不必实例化所述类。全局变量存在于全局名称空间中,并且可以被任何类中的任何函数引用。全局变量总是被忽视,因为它们很容易被滥用,覆盖,意外引用等等。至少需要通过Class::var;

+2

谢谢你对阶级的解释:VAR,但对于这方面,我很关注的变量的函数 – 2012-04-22 10:07:19

1

参考的静态变量全局变量用于获取可能在其他变量中定义的全局变量脚本,或不在相同的范围内。

例如

<?php 

$g_var = 1; 

function test() { 
    var_dump($GLOBAL['g_var']); 

    global $g_var; 
    var_dump($g_var); 
} 

静态用来定义具有整个脚本生活中var和初始化一次。

例如

<?php 

function test() { 
    static $cnt = 0; 
    $cnt ++; 
    echo $cnt; 
} 

$i = 10; 

while (-- $i) { 
    test(); 
} 
+0

所以你的意思是声明为静态的,全球可以随时改变,但静是怎么样的?不变 – 2012-04-22 10:08:09

+1

@未知不,我不是那个意思。静态可变可以自由改变。但是init操作只运行一次。看我的例子,“static $ cnt = 0”只运行一次,然后每次func调用时,变量都加一。 – wedgwood 2012-04-22 10:15:00