php变量作用域分别的是,深入理解php变量作用域范围

8009fde73e776be3e9f40c63961bab8c.png

php中变量的作用域是按照函数为界线划分的,函数外定义的所有变量称为全局变量。函数内定义的所有变量称为局部变量。

需要注意的是if else while等代码块不是函数,属于语言结构,在其中声明的变量作用域同上。即函数内为局部,函数外为全局。

一、变量作用范围的分类

PHP中定义的变量的作用范围分为三个层次。

超全局变量Superglobals 。所有代码区域内都可以访问。

全局变量。函数外可用,函数内不可用。

局部变量。函数外不可用,函数内可用。

二、超全局变量

在全部作用域中始终可用的内置变量,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以使用它们。

超全局变量:

$GLOBALS

$_SERVER

$_GET

$_POST

$_FILES

$_COOKIE

$_SESSION

$_REQUEST

$_ENV

三、全局变量

函数外定义的变量统称为全局变量,在函数内不可用。如果要使用需使用global关键字。

四、局部变量

函数内定义的变量为局部变量,只能在函数内使用,函数外面无法使用。

函数内的static静态变量,也是局部变量,在函数外部无法使用。

五、示例

$x = 100; //全局变量

if($x){

$y=200; //全局变量

}

function localVar(){

$z=300;//局部变量,函数外不可访问。

global $x; //绑定全局变量x

echo $x; //输出100

echo $y; //无输出,未定义变量

echo $z; //输出300

}

localVar();

函数内的global关键字,实际上是建立了一个到全局变量的引用。

global详解看这篇:

php引用赋值操作符到底是什么


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部