今天我们来学入门教程的第二节,如果你喜欢的话可以收藏加关注哦!!!!!!
声明和使用常量
-
概述:常量可以理解为值不变的量。常量值被定义后,在脚本的其他任何地方都不能改变。
-
常量的组成规则:一个常量由英文字母、下划线和数字组成,但数字不能作为首字母出现。
-
在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_dev PHP_OS 内建常量,执行PHP解析器的操作系统名称,如Windows TRUE 该常量是一个真值(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中的变量名称用$和标识符表示,变量名是区分大
小写的。
变量的赋值:变量赋值,是指给变量一个具体的数据值,对于字符串和
数字类型的变量,可以通过“=”来实现。格式为:
对变量赋值时,要遵循变量命名规则:
-
合法的变量命名
$thisCup=”oink”;
$_Class=”roof “;
?>
-
非法的变量命名
$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 |
要加关注哦!!!!!!!!
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~