版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.4PHP变量陈学平014PHP变量4PHP变量变量用于存储值,比如数字、文本字符串或数组。一旦设置了某个变量,就可以在脚本中重复地使用它。PHP的变量必须以$符开始,然后再加上变量名。4.1变量的命名规则在右侧编辑区输入内容(1)变量名必须以字母或者下划线"_"开头,后面跟上任意数量的字母、数字或者下划线。贰在右侧编辑区输入内容(3)变量名严格区分大小写,即$UserName与$username是不同的变量。肆$name;$_password;$book1;(5)在为变量命名时,尽量使用有意义的字符串。如下所示:陆在右侧编辑区输入内容变量的命名规则如下:壹在右侧编辑区输入内容(2)变量名不能以数字开头,中间不能有空格及运算符。叁在右侧编辑区输入内容(4)为避免命名冲突,不允许使用与PHP内置的函数相同的名称。伍4.2变量的赋值为变量赋值有两种方式:传值赋值和引用赋值,这两种赋值方式在对数据的处理上存在很大差别。4.2变量的赋值传值赋值这种赋值方式使用“=”直接将一个变量(或表达式)的值赋给变量。使用这种赋值方式,等号两边的变量值互不影响,任何一个变量值的变化都不会影响到另一个变量。从根本上讲,传值赋值是通过在存储区域复制一个变量的副本来实现的。4.2变量的赋值实例1:应用传值赋值实例代码如下:<?php$a=33;$b=$a;$b=44;echo"变量a的值为".$a."<br>";echo"变量b的值为".$b;?>在上面的代码中,执行“$a=33”语句时,系统会在内存中为变量a开辟一个存储空间,并将“33”这个数值存储到该存储空间。4.2变量的赋值实例1:应用传值赋值执行“$b=$a”语句时,系统会在内存中为变量b开辟一个存储空间,并将变量a所指向的存储空间的内容复制到变量b所指向的存储空间。执行“$b=44”语句时,系统将变量b所指向的存储空间保存的值更改为“44”,而变量a所指向的存储空间保存的值仍然是“33”。在浏览器上看到的内容为:变量a的值为33变量b的值为444.2变量的赋值引用赋值引用赋值同样也是使用“=”将一个变量的值赋给另一个变量,但是需要在等号右边的变量前面加上一个“&”符号。实际上这种赋值方式并不是真正意义上的赋值,而是一个变量引用另一个变量。在使用引用赋值的时候,两个变量将会指向内存中同一存储空间。因此任何一个变量的变化都会引起另外一个变量的变化。实例2应用引用赋值实例代码如下:<?php$a=33;$b=&$a;$b=44;echo"变量a的值为".$a."<br>";echo"变量b的值为".$b;?>在上面的代码中执行“$a=33”语句时,对内存进行操作的过程与传值赋值相同,这里就不再介绍了。执行“$b=&$a”语句后,变量b将会指向变量a所占有的存储空间。实例2应用引用赋值执行“$b=44”语句后,变量b所指向的存储空间保存的值变为“44”。此时由于变量a也指向此存储空间,所以变量a的值也会变为“44”。在浏览器上看到的内容为:变量a的值为44变量b的值为444.3变量的作用域在使用PHP语言进行开发的时候,几乎可以在任何位置声明变量。但是变量声明位置及声明方式的不同决定了变量作用域的不同。所谓的变量作用域,指的是变量在哪些范围内能被使用,在哪些范围内不能被使用。PHP中的变量按照作用域的不同可以分为局部变量和全局变量。4.3变量的作用域局部变量局部变量是声明在某一函数体内的变量,该变量的作用范围仅限于其所在的函数体的内部。如果在该函数体的外部引用这个变量,则系统将会认为引用的是另外一个变量。实例3局部变量的使用实例代码如下:<?phpfunctionlocal(){$a="“这是内部函数”";//在函数内部声明一个变量a并赋值echo"函数内部变量a的值为".$a."<br>";}local();//调用函数local(),用来打印出变量a的值4.3变量的作用域局部变量$a="“这是外部函数”";//在函数外部再次声明变量a并赋另一个值01?>03函数内部变量a的值为“这是内部函数”05echo"函数外部变量a的值为".$a;02在浏览器中输出为:04函数外部变量a的值为“这是外部函数”064.3变量的作用域全局变量全局变量可以在程序的任何地方被访问,这种变量的作用范围是最广泛的。要将一个变量声明为全局变量,只需在该变量前面加上“global”关键字,不区分大小写,也可以是“GLOBAL”。使用全局变量,能够实现在函数内部引用函数外部的参数,或者在函数外部引用函数内部的参数。实例4应用全局变量(在函数内部引用函数外部的参数)的实例代码如下:。<?php$a="“这是外部函数”";//在外部定义一个变量afunctionlocal(){global$a;//将变量a声明为全局变量4.3变量的作用域全局变量echo"在local函数内部获得变量a的值为".$a."<br>";}local();//调用函数local(),用于输出local函数内部变量a的值?>在浏览器中输出为:在local函数内部获得变量a的值为“这是外部函数”实例5应用全局变量(在函数外部引用函数内部的参数)的实例代码如下:<?php4.3变量的作用域全局变量functionlocal(){global$a;//将变量a声明为全局变量$a="“这是内部函数”";//在内部对变量a进行赋值}local();//调用函数local(),用于输出local函数内部变量a的值echo"在local函数外部获得变量a的值为".$a;//在函数local外部输出变量?>在浏览器中输出为:4.3变量的作用域全局变量在local函数外部获得变量a的值为“这是内部函数”应用全局变量虽然能够更加方便地操作变量,但是有的时候变量作用域的扩大,会给开发带来麻烦,可能会引发一些预料不到的问题。将一个变量声明为全局变量,还有另外一种方法,就是利用$GLOBALS[]数组。4.3变量的作用域静态变量函数执行时所产生的临时变量,在函数结束时就会自动消失。当然,因为程序需要,函数在循环过程中不希望变量在每次执行完函数就消失的话,就要采用静态变量,静态变量是指用static声明的变量,这种变量与局部变量的区别是,当静态变量离开了它的作用范围后,它的值不会自动消亡,而是继续存在,当下次再用到它的时候,可以保留最近一次的值。实例6应用静态变量实例代码如下:。<?phpfunctionadd(){4.3变量的作用域静态变量static$a=0;01echo$a."<br>";02}03add();04add();05add();06?>07在浏览器中输出为:08109$a++;104.3变量的作用域静态变量23这段程序中,主要定义了一个函数add(),然后分3次调用add()。如果用局部变量的方式来分工这段代码,3次的输出应该都是1。但实际输出却是1、2和3。这是因为,变量a在声明的时候被加上了一个修饰符static,这就标志着a变量在add()函数内部就是一个静态变量了,具备记忆自身值的功能,当第一次调用add时,a由于自加变成了1,这个时候,a就记住自己不再是0,而是1了,当需要再次调用add时,a再一次自加,由1变成了2,…。由此,就可以看出静态变量的特性。4.3变量的作用域可变变量可变变量是一种独特的变量,它可以动态的改变一个变量的名称,方法就是在该变量的前面加一个变量符号“$”。实例7可变变量的使用实例代码如下:。<?php$a='hello';//普通变量$$a='world';//可变变量,相当于$hello='world';echo$a."<br>";echo$$a."<br>";echo$hello."<br>";4.3变量的作用域可变变量echo"$a{$$a}"."<br>";1echo"$a$
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化行业设计师工作总结
- 2024年无负压供水系统安装与智能化控制系统集成合同3篇
- 循迹小车课程设计C程序
- 2024亲属间股权无偿转让与股权结构优化合同3篇
- 2024年度食品销售合同管理及食品安全追溯体系模板3篇
- 永康市茶艺课程设计培训
- 感恩演讲稿模板八篇
- 中职茶艺师课程设计
- 增强安全意识远离安全隐患三分钟演讲稿(15篇)
- 海洋船舶与工程课程设计
- 三级安全培训考试题附参考答案(满分必刷)
- 空气动力学实验方法:激光多普勒测速(LDV):原理与应用
- 反思单元 沈括的“海陆变迁”说(习题教学设计)2023-2024学年三年级上册科学(大象版 河南专用)
- 劳务派遣用工管理办法
- 部编人教版道德与法治八年级上册 引用的名言警句1
- 藏传佛教因明学通论
- 新苏教版五年级上册科学全册期末复习知识点(彩版)
- DL∕T 1429-2015 电站煤粉锅炉技术条件
- CJJT 164-2011 盾构隧道管片质量检测技术标准
- 2021-2022学年云南省红河哈尼族彝族自治州高一上学期期末语文试题
- 2024-2025学年浙教版中考数学模拟试题及答案
评论
0/150
提交评论