background image

 return $value;

}

记住,虽然在声明参数的函数内部可以访问和处理这些函数参数,但当函数执行结束时 ,
参数就会撤销。
3 .全局变量
与局部变量相反,全局变量可以在程序的任何地方访问。但是,为了修改一个全局变量,
必须在要修改该变量的函数中将其显式地声明为全局变量。这很容易做到,只要在变量前
面加上关键字 GLOBAL ,这样就可以将其识别为全局变量。如果将 GLOBAL 关键字放在
一个己有的变量前面,则是告诉 PHP 要使用同名的变量。考虑一个例子:

 

<?php

$somevar = 15;

function addit() { 

    GLOBAL $somevar;

    $somevar++; 

    print "Somevar is $somevar";

addit();

?>

输出的结果为:Somevar is 16。但是如果省略下面的代码:

 

GLOBAL $somevar;

变量$somevar 将赋值为 1,因为$somevar 在 addit()函数中被认为是一个局部变量。这个局
部变量声明将隐含地设置为 0,然后递增 1,最后显示的将值就是 1.
声明全局变量的另一种方法是使用 PHP 的$GLOBALS 数组,下面的例子,可以使用
$GLOBALS 数组将变量$somevar 声明为全局变量:

 

<?php

$somevar = 15;

function addit() {

    $GLOBALS["somevar"]++;

}

addit();

echo "somevar is ".$GLOBALS["somevar"];

?>

返回值如下:

 

somevar is 16

    无论选择何种方法将变量转换为全局作用域,都要当心。全局作用域一直以来都是困
扰程序员的一个问题,因为草率使用会引发意外的结果。因此,虽然全局变量非常有用,
但使用时一定要谨慎。
4 .静态变量