函数中的变量

函数中的变量

本文为大家说明函数中的变量,其分为两部分,全局变量局部变量

其中局部变量也可以分为两部分:静态变量动态变量

首先,我们来理解一下什么是动态变量?先看下面一段代码 :

在这里插入图片描述
这样的一段代码打印出的结果

在这里插入图片描述
显示结果,我们没有定义变量a,而我们在函数内部明明定义了变量a。

这里我说明一下,定义的变量只能在函数所包含,只能在函数体内部才能识别进行使用这就是局部变量

那么什么是动态呢,动态是说 该函数只有在函数中才会生效,而遇到函数结尾的大括号,那么这个变量就会被抹杀掉;

下面我们再来说明一下什么是局部静态变量;

声明静态变量:static

首先,我们来看下面一段代码
在这里插入图片描述
结果显示:
在这里插入图片描述
$b 自增+1,输出 ,打印结果为4; 看起来和我们平时所用函数没什么区别,如何体现我们的static呢;

再看下面
在这里插入图片描述
我们多进行一次调用,正常来看,应该输出两次4,结果为44;

然而我们的显示结果在这里插入图片描述

这个就是我们的static的作用,再次走到static $b = 3时,它会先查询static后面的变量存不存在,是否已经声明过了或者赋值过了。

static的作用:在函数结束时,使该变量不会被释放掉,而去储存在我们内存的一个角落,等待我们的再次使用;所以第一次的时候我们进行运行时,会正常的看到4,但是第二次因为是一个静态的变量,运行会发现$b已经有值,它会找到这个已有的值,不读取后面,直接进行下一步操作,进行自增,所以4变成了5;

当然,虽然static拥有让变量储存的功能,但是,归根结底,它还是一个局部变量,一样不能在函数外部进行使用;

这里局部变量简单的介绍完了,下面我们说一下全局变量

首先看下面一段代码

在这里插入图片描述
我们在函数内部使用了外部的变量$a和$b,而结果会告诉我们:

在这里插入图片描述
并不认识$a和$b是谁,这个时候如果我们想要使用,那么就需要使用一个关键字global。
在这里插入图片描述
这样就会告诉我们的函数,这变量在函数外面已经定义好了,打印结果也就会变成:
在这里插入图片描述
而这个时候我们进行下面的一段操作:
在这里插入图片描述
我们在函数内部进行重新赋值,再打印,结果会显示在这里插入图片描述

原因是因为,在global的声明之后,我们内部的$a同样代表的外部的$a,所以修改时,修改的也是外面的$a,这也就是我们的全局变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值