Rumah > pembangunan bahagian belakang > tutorial php > PHP 四种变量范围比较

PHP 四种变量范围比较

怪我咯
Lepaskan: 2023-03-10 20:24:02
asal
2135 orang telah melayarinya

PHP 是一种较为松散的语言( Loosely Typed Language ),当我们声明一个变量时,不须指定变量的类型( type ),PHP 会自动根据指派给该变量的值来判断该变量的类型。虽然在声明变量时不须指定类型,但还有一项必须要指定的--变量的使用范围( scope)。PHP 有四种不同的使用范围:local、global、static、parameter,以下将分别介绍。

局部变量 (local variable)
  在 function 中声明, 只能在声明的 function 中使用 (local scope)。不同的 function 中可声明相同名称的局部变量。
  在声明变量function 结束时,局部变量也就不起作用了
  声明时不需使用任何关键字(keyword)
$a = 5; // 全局变量
functionmyTest()
{echo $a; // 局部变量}
myTest();
  上例不会输入任何内容,因为 $a 在function 中未指定值。

全局变量 (global variable)
  在 function 外声明,除了 function 中的 script不能存取外,整个网页中的 script 都可以存取该变量( global scope )。若要在 function 中使用全局变量,需使用关键字 global,见下例:
  在网页关闭时,全局变量就不起作用了

$a = 5;
$b = 10;
functionmyTest()
{
global $a,$b;//注意这行
$b = $a +$b;
}
myTest();
echo $b;
Salin selepas log masuk

  上例输出 15。
global 变量一旦声明之后,PHP 会将其放置在 $GLOBALS[index] 这个 array 中,其中 index 就是变量的名称。我在可以从 function 内存取这个 array,也可以直接指定值给 array 中的某个元素来改变其值。我们将上例改写如下:

$a = 5;
$b = 10;
functionmyTest()
{
$GLOBALS['b']= $GLOBALS['a'] + $GLOBALS['b'];
}
myTest();
echo $b;
Salin selepas log masuk

  静态变量 (static variable)
  如前面所说,局部变量在函数结束时就会不起作用。不过有时候,当我们希望某局部变量不因函数结束而失效,我们可以在第一次声明该区域变量前,加上关键字-- static。
static$rememberMe;
  如此一来,每次调用该函数时,此变量都会包含上一次调用函数时所得到的值。
  要注意的是:静态变量仍是一种局部变量。
  参数 (parameter,或称 argument)
  参数指的是一种调用函数时传入的局部变量。其会在函数声明时的参数列 (parameter list) 中被声明。
functionmyTest($para1,$para2,...)//在小括号中声明
{// 函数源程序}


Atas ialah kandungan terperinci PHP 四种变量范围比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan