php 全局变量范围分析

2015-01-24信息快讯网

在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。

 
<?php 
$a = 1 ; 
include 'b.inc' ; 
?> 

这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。
 
<?php 
$a = 1 ; /* global scope */ 
function Test () 
{ 
echo $a ; /* reference to local scope variable */ 
} 
Test (); 
?> 

这个脚本不会有任何输出,因为 echo 语句引用了一个局部版本的变量 $a ,而且在这个范围内,它并没有被赋值。你可能注意到 PHP 的全局变量和 C 语言有一点点不同
PHP 中全局变量在函数中使用时必须申明为全局(global关键字)
 
<?php 
$a = 1 ; 
$b = 2 ; 
function Sum () 
{ 
global $a , $b ; 
$b = $a + $b ; 
} 
Sum (); 
echo $b ; 
?> 

以上脚本的输出将是“3”。
©2014-2024 dbsqp.com