php 变量范围,PHP 四种变量范围比较

本文详细介绍了PHP中的变量类型和使用范围,包括局部变量、全局变量、静态变量和参数。局部变量仅在函数内部有效,全局变量在整个脚本中可访问,静态变量则在函数多次调用时保留其值。同时,PHP变量不需要预先声明类型,会自动根据赋值确定。通过`global`关键字可以引用全局变量,并且静态变量可通过`static`关键字在函数内部保持状态。
摘要由CSDN通过智能技术生成

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;

上例输出 15。

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

$b = 10;

functionmyTest()

{

$GLOBALS['b']= $GLOBALS['a'] + $GLOBALS['b'];

}

myTest();

echo $b;

静态变量 (static variable)

如前面所说,局部变量在函数结束时就会不起作用。不过有时候,当我们希望某局部变量不因函数结束而失效,我们可以在第一次声明该区域变量前,加上关键字-- static。

static$rememberMe;

如此一来,每次调用该函数时,此变量都会包含上一次调用函数时所得到的值。

要注意的是:静态变量仍是一种局部变量。

参数 (parameter,或称 argument)

参数指的是一种调用函数时传入的局部变量。其会在函数声明时的参数列 (parameter list) 中被声明。

functionmyTest($para1,$para2,...)//在小括号中声明

{// 函数源程序}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值