php变量和静态变量,PHP变量的作用域和静态变量

1、什么是变量的作用域

变量的作用域就是变量的范围,变量的范围即它定义的上下文背景(即它的生效范围),大部分PHP变量只有一个单独的范围,这个单独的范围跨度包含了include和require引入的文件

示例:

$outer = 'str';

function myFunc(){

var_dump($outer);//打印为NULL,内部为局部变量

}

myFunc();

内部函数想要引用外部变量可以引入global关键字

$outer = 'str';

function myFunc(){

global $outer;

var_dump($outer);//打印为NULL,内部为局部变量

}

myFunc();

2、什么是静态变量

静态变量仅在局部函数域中存在,当函数执行离开此作用域时,其值不会消失。

static

1.仅初始化一次

2.初始化时需要赋值

3.每次执行函数该值会保留

4.static修饰的函数仅在函数内部有效

5.可用于记录函数调用次数,从而在某些条件下终止递归

示例1:

function myFunc(){

static $a = 1;

echo $a++;

}

myFunc();//1

myFunc();//2

myFunc();//3

示例2:

$count = 5;

function getCount()

{

static $count;

return $count++;

}

echo $count;//5

++$count;

echo getCount();//第一次调用,初始化为NULL,NULL++为1 由于是后++,第一次返回NULL

echo getCount();//第二次调用,count = 1

echo "\n";

运行结果:

5 1

3、函数的引用

示例:

function &myFunc(){

static $b = 10;

return $b;

}

$a = myFunc();

$a = &myFunc();

$a = 100;

echo myFunc();//100

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值