ps.在半路出家学习PHP的过程中,笔记是最重要的老师.谨以巩固知识,强化思维.
(如无特殊说明,文中"__"为连续两个下划线"_".)
什么是常量?常量可以理解为值不变的量(如圆周率);或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。PHP中的常量分为自定义常量和系统常量。
自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义。
define()函数的语法格式为:
define(string $constant_name, mixed $value[, $case_sensitive = true])
它有3个参数:
第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。
第二个参数“value”为必选参数,它是常量的值。
第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。
(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)
系统常量是PHP中已经定义号的常量,我们可以直接拿来使用,常见的系统常量有:
(1) __FILE__ : php程序文件名.获取当前文件在服务器的物理位置.
echo __FILE__;
(2) __LINE__ : php程序文件行数.获取当前代码在第几行.
echo __LINE__;
(3) PHP_VERSION : 当前解释器的版本号.
echo PHP_VERSION;
(4) PHP_OS : 执行当前版本的操作系统名称.
echo PHP_OS;
其他系统常量请参考php手册.
在定义了常量之后,就要使用常量,这个过程即'常量取值'.
获取常量值有两种方法:
1.使用常量名直接获取值;
define("PI",3.14);
$r=1;
$area =PI*$r*$r;//计算圆的面积
2.使用constant()函数.格式如下:
mixed constant(string constant_name)
第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)
如何判定常量是否被定义?
如果常量被重复定义以后,PHP解析器就会发出"Constant XXX already defined "的警告,提醒我们该常量已经被定义过了.
但是,在团队开发的过程中,代码量很大,我们应该如何判定呢?
defined()函数可以帮我们判定一个常量是否被定义.其格式为:
bool defined(string constants_name);
它只有参数constant_name ,指的是要获取的常量名称,若存在则返回布尔类型true,否则返回布尔类型false;(注:bool表示函数返回值类型为bool类型)