常量的组成规则:一个常量由英笔墨母、下划线和数字组成,但数字不能作为首字母涌现。
在PHP中利用define()函数来定义常量,该函数的语法格式为:
define(string constant_name,mixed value,case_sensitive=true)
参数解释constant_name必选参数,常量名称,即标识符 value 必选参数,常量的值 case_sensitive可选参数,指定是否大小写敏感,设定为true
获取常量的值有两种方法:一种是利用常量名直接获取值;另一种是利用constant()函数,constant()函数和直策应用常量名输出的效果是一样的,但函数可以动态地输出不同的常量,在利用上要灵巧方便得多。
函数的语法格式为:
mixed constant(string const_name)
参数const_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,否则提示缺点信息常量没有被定义。
利用defined()函数,来判断一个常量是否已经定义。
该函数的语法格式如下:
bool defined(string constant_name);
参数constant_name为要获取常量的名称,成功则返回true,否则返回false
预定义常量例3.9】 在实例中利用上述的3个函数:define()函数、constant()函数和defined()函数。利用define()函数来定义一个常量,利用constant()函数来动态获取常量的值,利用defined()函数来判断常量是否被定义。
PHP中可以利用预定义常量获取PHP中的信息。常用的预定义常量如下表所示。
常量名功能__FILE__ 默认常量,PHP程序文件名__LINE__ 默认常量,PHP程序行数PHP_VERSION 内建常量,PHP程序的版本,如3.0.8_devPHP_OS 内建常量,实行PHP解析器的操作系统名称,如WindowsTRUE 该常量是一个真值(true)FALSE 该常量是一个假值(false)NULL 一个null值E_ERROR 该常量指到最近的缺点处E_WARNING 该常量指到最近的警告处E_PARSE 该常量指到解析语法有潜在问题处E_NOTICE把稳:__FILE__和__LINE__中的“__”是两条下划线,而不是一条
“_”。
解释:表中以E_开头的预定义常量,是PHP的缺点调试部分。如需
详细理解,请参考error_ reporting()函数。
【例3.10】 预定义常量与用户自定义常量在利用上没什么差别。下
面利用预定义常量输出PHP中的信息。
变量的观点变量是指在程序实行过程中数值可以变革的量。变量通过一个名字(变量名)来标识。系统为程序中的每一个变量
分配一个存储单元,变量名本色上便是打算机内存单元的命名。因此,借助变量名即可访问内存中的数据。
变量的声明及利用变量的声明问题:和很多措辞不同,在PHP中利用变量之前不须要声明
变量(PHP 4之前须要声明变量),只需为变量赋值即可。
变量名的哀求:PHP中的变量名称用$和标识符表示,变量名是区分大
小写的。
变量的赋值:变量赋值,是指给变量一个详细的数据值,对付字符串和
数字类型的变量,可以通过“=”来实现。格式为:
<?php $name = value; ?>
对变量赋值时,要遵照变量命名规则:
合法的变量命名
<?php
$_Class=\"大众roof \"大众;
?>
造孽的变量命名
<?php
$11112_var=11112; //变量名不能以数字字符开头
$@spcn = \"大众spcn\"大众; //变量名不能以其他字符开头
?>
除了直接赋值外,还有两种办法可为变量声明或赋值:
变量间的赋值
【例3.11】 变量间的赋值是指赋值后两个变量利用各自的内存,互不滋扰。
引用赋值。从PHP 4开始,PHP引入了“引用赋值”的观点。引用的观点是,
用不同的名字访问同一个变量内容。当改变个中一个变量的值时,另一个也随着
发生变革。利用&符号来表示引用。
【例3.12】 在本例中,变量$j是变量$i的引用,当给变量$i赋值后,$j的值也
会随着发生变革。
把稳:引用和复制的差异在于:复制是将原变量内容复制下来,开辟一个新的内
存空间来保存,而引用则是给变量的内容中兴一个名字。可以这样理解,一些文
学爱好者常常会向报纸、杂志投稿件,但一样平常不会用真名,而是笔名,这个笔名
就可以看作是一个引用
变量浸染域概述:变量在利用时,要符合变量的定义规则。变量必须在有效范围
内利用,如果变量超出有效范围,则变量也就失落去其意义了。变量的
浸染域如下表所示。
作 用 域说 明局部变量在函数的内部定义的变量,其浸染域是所在函数全局变量被定义在所有函数以外的变量,其浸染域是全体PHP文件,但在用户自定义函数内部是不可用的。如果希望在用户自定义函数内部利用全局变量,则要利用global关键字声明静态变量能够在函数调用结束后仍保留变量值,当再次回到其浸染域时,又可以连续利用原来的值。而一样平常变量是在函数调用结束后,其存储的数据值将被打消,所占的内存空间被开释。利用静态变量时,先要用关键字变量浸染域解释:在函数内部定义的变量,其浸染域为所在
函数,如果在函数外赋值,将被认为是完备不同的另一个变量。
在退出声明变量的函数时,该变量及相应的值就会被打消。
【例3.13】 本实例用于比较在函数内赋值的变量(局部变量)
和在函数外赋值的变量(全局变量)
静态变量的运用:在博客中利用静态变量记录浏览者的人数
,每一次用户访问和离开时,都能够保留目前浏览者的人数。在
谈天室中也可以用静态变量来记录用户的谈天内容。
【例3.14】 下面利用静态变量和普通变量同时输出一个数据,
查看一下两者的功能有什么不同。
全局变量的解释:全局变量可以在程序中的任何地方访问,
但是在用户自定义函数内部是不可用的。想在用户自定义函数内
部利用全局变量,要利用global关键字声明。
【例3.15】 下面在自定义函数中运用全局变量与不应用全局变
量进行比拟。本例中定义两个全局变量$zy和$zyy,在用户自定
义函数lxt()中,希望在第5、7行调用它们,而程序输出的结果
只有$zyy的值“会看到”,由于在第6行用global关键字声明了全
局变量$zyy。而第5行不会有任何输出,个中的$zy和第2行的
$zy没有任何关系。
可变变量可变变量观点:可变变量是一种独特的变量,它许可动态改变一
个变量名称。
可变变量的事情事理:该变量的名称由其余一个变量的值来确定
,实现过程便是在变量的前面再多加一个美元符号“$”。
【例3.16】 下面利用可变变量动态改变变量的名称。
实现步骤:
首先定义两个变量$change_name和$trans,并且输出变量
$change_name的值。
然后利用可变变量来改变变量$change_name的名称。
末了输出改变名称后的变量值。
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_FILE变量的名称解释$_SERVER['SERVER_PORT']做事器所利用的端口,默认为80。如果利用SSL安全连接,则这个值为用户设置的HTTP端口$_SERVER['SERVER_SIGNATURE']包含做事器版本和虚拟主机名的字符串$_SERVER['DOCUMENT_ROOT']当前运行脚本所在的文档根目录。在做事器配置文件中定义$_COOKIE通过HTTPCookie通报到脚本的信息。这些cookie多数是由实行PHP脚本时通过setcookie变量的名称解释$_SESSION 包含与所有会话变量有关的信息。$_SESSION变量紧张运用于会话掌握和页面之间值的通报$_POST 包含通过POST方法通报的参数的干系信息。紧张用于获取通过POST方法提交的数据$_GET 包含通过GET方法通报的参数的干系信息。紧张用于获取通过GET方法提交的数据$GLOBALS要加关注哦!
!
!
!
!
!
!
!