PHP从入门到精通第三章05 PHP变量
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP预定义变量
PHP还提供了很多非常实用的预定义变量,通过这些预定义 变量可以获取到用户会话、用户操作系统的环境和本地操作系统 的环境等信息。常用的预定义变量如下表所示。'SERVER_ADDR']
当前运行脚本所在的服务器的IP地址
$_SERVER['SERVER_NAME'] $_SERVER['REQUEST_METHOD']
函数,如果在函数外赋值,将被认为是完全不同的另一个变量。 在退出声明变量的函数时,该变量及相应的值就会被清除。 【例3.13】 本实例用于比较在函数内赋值的变量(局部变量) 和在函数外赋值的变量(全局变量)
静态变量的应用:在博客中使用静态变量记录浏览者的人数
,每一次用户访问和离开时,都能够保留目前浏览者的人数。在 聊天室中也可以用静态变量来记录用户的聊天内容。 【例3.14】 下面使用静态变量和普通变量同时输出一个数据, 查看一下两者的功能有什么不同。
PHP变量
本讲大纲:
1、变量声明及使用 2、变量作用域 3、可变变量 4、PHP预定义变量
变量的概念
变量是指在程序执行过程中数值可以变化的量。变量通 过一个名字(变量名)来标识。系统为程序中的每一个变量 分配一个存储单元,变量名实质上就是计算机内存单元的命 名。因此,借助变量名即可访问内存中的数据。
变量作用域
全局变量的说明:全局变量可以在程序中的任何地方访问,
但是在用户自定义函数内部是不可用的。想在用户自定义函数内 部使用全局变量,要使用global关键字声明。 【例3.15】 下面在自定义函数中应用全局变量与不应用全局变 量进行对比。本例中定义两个全局变量$zy和$zyy,在用户自定 义函数lxt()中,希望在第5、7行调用它们,而程序输出的结果 只有$zyy的值“会看到”,因为在第6行用global关键字声明了
当前执行脚本的绝对路径名。注意 :如果脚本在CLI中被执行,作为 相对路径,如file.php或者 .../file.php,
$_SERVER['SCRIPT_FILENAM E']将包含用户指定的相对路径
常用的预定义变量
变量的名称
$_SERVER['SERVER_PORT']
$_SERVER['SERVER_SIGNATUR E']
当前运行脚本所在服务器主机的名称。如 果该脚本运行在一个虚拟主机上,则该名 称是由虚拟主机所设置的值决定
访问页面时的请求方法。如GET、HEAD 、POST、PUT等,如果请求的方式是 HEAD,PHP脚本将在送出头信息后中止 (这意味着在产生任何输出后,不再有输 出缓冲)
常用的预定义变量
变量的名称
变量作用域
概述:变量在使用时,要符合变量的定义规则。变量必须在有效范围 内使用,如果变量超出有效范围,则变量也就失去其意义了。变量的 作用域如下表所示。
作用域 局部变量 全局变量
静态变量
说明
在函数的内部定义的变量,其作用域是所在函数
被定义在所有函数以外的变量,其作用域是整个PHP文件,但在 用户自定义函数内部是不可用的。如果希望在用户自定义函数内 部使用全局变量,则要使用global关键字声明
变量的声明及使用
➢ 变量的声明问题:和很多语言不同,在PHP中使用变量之前不需要声明
变量(PHP 4之前需要声明变量),只需为变量赋值即可。
➢ 变量名的要求:PHP中的变量名称用$和标识符表示,变量名是区分大
小写的。
➢ 变量的赋值:变量赋值,是指给变量一个具体的数据值,对于字符串和
数字类型的变量,可以通过“=”来实现。格式为:
<?php $name = value; ?>
➢ 对变量赋值时,要遵循变量命名规则:
• 合法的变量命名
<?php
$thisCup="oink";
$_Class="roof ";
?>
• 非法的变量命名
<?php
$11112_var=11112; //变量名不能以数字字符开头
$@spcn = "spcn";
常用的预定义变量
变量的名称
$_SESSION $_POST $_GET $GLOBALS
说明
包含与所有会话变量有关的信息。$_SESSION变量 主要应用于会话控制和页面之间值的传递
包含通过POST方法传递的参数的相关信息。主要用 于获取通过POST方法提交的数据
包含通过GET方法传递的参数的相关信息。主要用于 获取通过GET方法提交的数据
由所有已定义全局变量组成的数组。变量名就是该数 组的索引。它可以称得上是所有超级变量的超级集合
Thank you
说明
服务器所使用的端口,默认为80。如果 使用SSL安全连接,则这个值为用户设 置的HTTP端口
包含服务器版本和虚拟主机名的字符串
$_SERVER['DOCUMENT_ROOT'] $_COOKIE
当前运行脚本所在的文档根目录。在服 务器配置文件中定义
通过HTTPCookie传递到脚本的信息。 这些cookie多数是由执行PHP脚本时通 过setcookie()函数设置的
能够在函数调用结束后仍保留变量值,当再次回到其作用域时, 又可以继续使用原来的值。而一般变量是在函数调用结束后,其 存储的数据值将被清除,所占的内存空间被释放。使用静态变量 时,先要用关键字static来声明变量,把关键字static放在要定义 的变量之前
变量作用域
变量作用域说明:在函数内部定义的变量,其作用域为所在
全 局变量$zyy。而第5行不会有任何输出,其中的$zy和第2行的 $zy没有任何关系。
可变变量
可变变量概念:可变变量是一种独特的变量,它允许动态改变一 个变量名称。 可变变量的工作原理:该变量的名称由另外一个变量的值来确定 ,实现过程就是在变量的前面再多加一个美元符号“$”。 【例3.16】 下面使用可变变量动态改变变量的名称。 实现步骤: 首先定义两个变量$change_name和$trans,并且输出变量 $change_name的值。 然后使用可变变量来改变变量$change_name的名称。 最后输出改变名称后的变量值。
说明
$_SERVER['REMOTE_ADDR']
正在浏览当前页面用户的IP地址
$_SERVER['REMOTE_HOST'] $_SERVER['REMOTE_PORT']
正在浏览当前页面用户的主机名。 反向域名解析基于该用户的 REMOTE_ADDR
用户连接到服务器时所使用的端口
$_SERVER['SCRIPT_FILENAME']
//变量名不能以其他字符开头
?>
变量的声明及使用
➢ 除了直接赋值外,还有两种方式可为变量声明或赋值: ✓ 变量间的赋值
【例3.11】 变量间的赋值是指赋值后两个变量使用各自的内存,互不干扰。
✓ 引用赋值。从PHP 4开始,PHP引入了“引用赋值”的概念。引用的概念是
, 用不同的名字访问同一个变量内容。当改变其中一个变量的值时,另一个也跟着 发生变化。使用&符号来表示引用。 【例3.12】 在本例中,变量$j是变量$i的引用,当给变量$i赋值后,$j的值也 会跟着发生变化。 注意:引用和复制的区别在于:复制是将原变量内容复制下来,开辟一个新的内 存空间来保存,而引用则是给变量的内容再起一个名字。可以这样理解,一些文 学爱好者经常会向报纸、杂志投稿件,但一般不会用真名,而是笔名,这个笔名 就可以看作是一个引用