首页 > 代码库 > php,变量

php,变量

1.变量定义:

变量是指在程序执行过程中数值可以变化的量。变量通过一个名字(变量名)来标识。系统为程序中的每一个变量分配一个存储单元,变量名实质就是计算机内存单元的命名。因此,借助变量名可以访问内存中的数据。

2.变量声明和定义:

和很多语言不同,在PHP中使用变量之前不需要声明变量(在PHP4之前需要声明变量),只需为变量赋值即可。PHP中的变量名称用$和标识表示,变量名是区分大小写的。变量赋值,是指给变量一个具体的数据值,对于字符串和数字类型的变量,可以通过“”=“”来实现赋值,当然对变量赋值要遵循变量命名规则。除了直接赋值以外,还有另外两种方式,一种是变量间的赋值,另外一种是引用赋值,即用不同的名字访问同一个变量内容,而当改变其中一个变量的值时,另一个也跟着发生变化,引用赋值使用“”&“”符号来表示引用。

3.变量的作用域:

变量在使用时,要符合变量的定义规则。变量必须在有效范围内使用,如果变量超出有效范围,则变量也就失去其意义了。变量的作用域如下:

局部变量:在函数的内部定义的变量,其作用域是所在函数,在退出声明变量的函数时,该变量及相应的值就会被清除;

全局变量:被定义在所有函数以外的变量,其作用域是整个PHP文件,但在用户自定义函数内部是不可用的。如果希望在用户自定义函数内部使用全局变量,则要使用global关键字声明全局变量;

静态变量:能够在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用原来的值。而一般变量是在函数调用结束后,其存储的数据值即被解除,所占的内存空间也被释放。使用静态变量时,先要用关键字static来声明变量,把关键字static放在要定义的变量之前。

4.可变变量:

可变变量是一种奇特的变量,它允许动态改变一个变量名称。其工作原理是该变量的名称由另外一个变量的值来确定,实现过程就是在变量的前面再多加一个美元符号“$”。

5.PHP预定义变量:

PHP还提供了很多实用的预定义变量,通过这些预定义变量可以获取到用户回话,用户操作系统的环境和本地操作系统的环境等信息。常用的预定义变量如下:

  变量的名称                                说明

$_SERVER[‘SERVER_ADDR‘]    当前运行脚本所在的服务器地IP地址

$_SERVER[‘SERVER_NAME‘]       当前运行脚本所在服务器主机的名称。如果该脚本运行在一个虚拟主机上,则该名称是由虚拟主机所设置的值决定。

$_SERVER[‘REQUEST_METHOD‘]  访问页面时的请求方法。如GET,HEAD,POST,PUT等,如果请求的方式是HEAD,PHP脚本将在输出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲)

$_SERVER[‘REMOTE_ADDR‘]    正在浏览当前页面用户的IP地址

$_SERVER[‘REMOTE_HOST‘]    正在浏览当前页面用户的主机名。反向域名解析基于该用户的REMOTE_ADDR

$_SERVER[‘REMOTE_PORT‘]    用户连接到服务器时所使用的端口

$_SERVER[‘SCRIPT_FILENAME‘]  当前执行脚本的绝对路径名。注意,如果脚本在CLI中被执行,作为相对路径,如file.php或者.../file.php,$_SERVER[‘SCRIPT_FILENAME‘]将包含用户指定的相对路径。

$_SERVER[‘SERVER_PORT‘]    服务器所使用的端口,默认为80,如果使用SSL安全连接,则这个值为用户设置的HTTP端口

S_SERVER[‘SERVER_SIGNATRUE‘]  包含服务器版本和虚拟机名的字符串

$_SERVER[‘DOCUMENT_ROOT‘]   当前运行脚本所在的文档根目录。在服务器配置文件中定义

$_COOKIE              通过HTTPCookie传递到脚本的信息。这些cookie多数是由执行PHP脚本时通过setcookie()函数设置的

$_SESSION            包含与所有回话变量有关的信息。$_SESSION变量主要应用于回话控制和页面之间值的传递

$_POST              包含通过POST方法传递的参数的相关信息。主要用于获取通过POST方法提交的数据

$_GET              包含通过GET方法传递的参数的相关信息。主要用于获取通过GET方法提交的数据

$GLOBALS            由所有已定义全局变量组成的数组。变量名就是该数组的索引。它可以称当上是所有超级变量的超级集合

php,变量