代码改变世界

9.3、理解作用域与全局变量

2012-12-03 16:57  TONY|小四  阅读(285)  评论(0编辑  收藏  举报
【PHP 作用域的简单规则】
  • 函数作用域
    在函数内部声明的变量作用域是从声明它们的那条语句开始到函数末尾。
  • 全局作用域
    在函数外部声明的变量作用域是从声明它们的那条语句开始到文件末尾,而不是函数内部。这些变量成为全局变量。
  • 特殊的超级全局变量
    特殊的超级全局变量在函数内外部都是可见的。
    关键字“global”可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
    通过调用 unset($variable_name) 可以手动删除变量。如果变量被删除,它就不在参数所指定的作用域中了。
【注意】
    require()和include()并不影响作用域。
如果这两个语句用于函数内部,函数作用域适用。不在函数内部,全局作用域适用。
 
 
 PHP Code By http://t.qq.com/tony-src
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php 

    /**
     *  全局变量
     */


    $a = 
5;
    
    
function fa1(){
        
global $a;  // 将 $a 设置成为全局变量
        $a;
    }
    
    fa1();
    
    
echo $a;
    
    
/**
     * 使用超级全局变量
     */

    
$GLOBALS['a'] = 5;
    
function fa2(){
        
$GLOBALS['a'] = 2;
    }
    fa2();
    
echo $GLOBALS['a'];
    
    print_r(
$GLOBALS);
    
?>