PHP 的变量作用域

发布于 2021-07-20 12:53:44 字数 1091 浏览 1627 评论 0

变量的作用域是脚本中变量可被引用 / 使用的范围,共有四种:

  • local
  • global
  • static
  • paramter

一、全局作用域和局部作用域

在所有函数外部定义的变量,拥有全局作用域 global;在函数内部定义的变量用于局部作用域 local。全局变量可以被脚本的任何位置访问,但在函数内部 访问全局变量要使用 global 关键字。而局部变量只能在函数内部进行访问。

<?php 
$x = 2;
function test(){
    $y = 3;
    echo $x;//$x为全局变量,函数内部访问需要加上global关键字
    echo "<br>";
    echo $y;
    echo "<br>";
}
test();
echo $x;
echo "<br>";
echo $y;//不能使用函数内部定义的局部变量

二、static 作用域

当一个函数调用完后,它的所有变量都会被删除,如果想要某个局部变量不被删除,那么可以使用 static 关键字

<?php 
function test(){
    $x = 0;
    echo $x;
    $x++;
}
test(); //输出0
test(); //输出0
test(); //输出0
?>

修改如下:

<?php 
function test(){
    static $x = 0;
    echo $x;
    $x++;
}
test(); //输出0
test(); //输出1
test(); //输出2
?>

三、parameter 参数作用域

参数是通过调用代码将值传递给函数的局部变量,参数是在参数列表中声明的,作为函数声明的一部分。

<?php 
function test($x){
  echo $x;
}
test(1);   //输出1
test(2);   //输出2
?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文