PHP 的变量作用域
变量的作用域是脚本中变量可被引用 / 使用的范围,共有四种:
- 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 技术交流群。
上一篇: PHP ticks 机制
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论