深入理解php变量作用域范围

深入理解php变量作用域范围
php中变量的作用域是按照函数为界线划分的,函数外定义的所有变量称为全局变量。函数内定义的所有变量称为局部变量。
需要注意的是if else while等代码块不是函数,属于语言结构,在其中声明的变量作用域同上。即函数内为局部,函数外为全局。

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

  1. 超全局变量Superglobals 。所有代码区域内都可以访问。
  2. 全局变量。函数外可用,函数内不可用。
  3. 局部变量。函数外不可用,函数内可用。

二、超全局变量
在全部作用域中始终可用的内置变量,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以使用它们。
超全局变量:
$GLOBALS 
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV

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

四、局部变量
函数内定义的变量为局部变量,只能在函数内使用,函数外面无法使用。
函数内的static静态变量,也是局部变量,在函数外部无法使用。

五、示例

函数内的global关键字,实际上是建立了一个到全局变量的引用。
global详解看这篇:
php引用赋值操作符到底是什么 

如若转载,请注明出处:https://www.javaidea.cn/article/8144.html

(0)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。