常量的介绍
常量:一旦声明,这个常量的值就不会被改变
- 常量是使用函数 define() 声明的
- 如果常量没有声明,则在使用时,会自动转为字符串(效率很低)
- 常量名称,不要加$符号
- 常量名称,默认区分大小写,习惯上常量名称要全部大写
- 可以使用 define() 第三个参数来决定是否让这个常量名称区分大小写true false
- 常量的值只支持标量数据类型(boolean,integer,float,string)
- 常量不能使用 unset() 清除一个常量
- 可以使用defined()判断一个常量是否存在
- 常量的范围是全局的。不用管作用域就可以在脚本的任何地方访问常量
常量的定义和使用
使用 define() 函数来定义常量,一个常量一旦被定义,就不能再改变或者取消定义
语法:bool define(string name,mixed value [,bool case_insensitive])
name表示常量名,
value表示常量值或表达式,但常量只能包含标量数据(boolean,integer,float和string),
case_insensitive为可选参数设置为true时则表示常量名不区分大小写
<?php
define("CON_INT",100);
echo CON_INT; //输出:100
define("GREETING","Hello you",true);
echo GREETING; //输出:Hello you
echo constant ("Greeting"); //输出:Hello you
?>
常量与变量的区别
- 常量前面没有美元符号($)
- 常量只能用 define() 函数定义,而不能通过赋值语句;
- 常量可以不用理会变量作用范围的规则而在任何地方定义和访问;
- 常量一旦定义就不能被重新定义或者取消定义;
- 常量的值只能是标量
- 可以用函数 constant() 来读取常量的值
- 用get_defined_constants() 可以获得所有已定义的常量列表
系统预定义常量
- PHP_OS:执行PHP解析的操作系统名称
- PHP_VERSION:当前PHP服务器的版本
- LINE:文件中的当前行号
- FILE:文件的完整路径和文件名
- FUNCTION:函数名称(PHP4.3.0新加)。自PHP5起本常量返回该函数被定义时的名字(区分大小写).在PHP4中该值总是小写字母的。
- CLASS:类的名称(PHP4.3.0新加)。自PHP5起本常量返回该函数被定义时的名字(区分大小写).在PHP4中该值总是小写字母的。
- METHOD:类的方法(PHP5.0.0新加).返回该方法被定义时的名字(区分大小写)