时间:2021-07-01 10:21:17 帮助过:27人阅读
常量类似变量,但常量一旦被定义就无法更改或撤销定义。常量最主要的作用是可以避免重复定义,篡改变量值,提高代码可维护性。有效的常量名以字符或下划线开头(常量名称前面没有$符号)。通常,常量全用大写。PHP中的常量分为自定义常量和系统常量
[注意]与变量不同,常量贯穿整个脚本是自动全局的
自定义常量使用define()函数,它使用三个参数
[1]首个参数定义常量的名称
[2]第二个参数定义常量的值
[3]可选的第三个参数规定常量名是否对大小写敏感,默认是false
define()函数的语法格式为:
bool define(string $constant_name, mixed $value[, $case_sensitive = true])
php$p = 'PI0';define('PI',3.14);define('PI',3.15);//无效,因为常量无法被修改定义define($p,3.14);echo PI;//3.14echo "
";echo PI0;//3.14?>
系统常量是PHP已经定义好的常量,常见的系统常量有:
[1]__FILE__:php程序文件名。获取当前文件在服务器的物理位置
[2]__LINE__:PHP程序文件行数。表示当前代码在第几行
[3]PHP_VERSION:当前解析器的版本号。可以提前知道PHP代码是否可被该PHP解析器解析
[4]PHP_OS:执行当前PHP版本的操作系统名称。告诉服务器所用的操作系统名称,根据该操作系统优化代码
phpecho __FILE__;//D:\wamp\www\1.phpecho "
";echo __LINE__;//11echo "
";echo PHP_VERSION;//5.5.12echo "
";echo PHP_OS;//WINNTecho "
";?>
获取常量值有两种方法:一种是使用常量名直接获取值;另一种是使用constant()函数
constant()函数语法格式为:mixed constant(string constant_name)
php$p;define("PI1",3.14);define("PI2",3.142);$height = "中";if($height == "中"){ $p = "PI1";}else{ $p = "PI2";}$r = 1;$area = constant("PI") * $r * $r;echo $area;?>
如果常量被重复定义后,PHP解析器会发出"Constant XXX already defined"的警告,提醒该常量已被定义过
defined()函数用来判断一个常量是否已经定义,其语法格式为:
bool defined(string constants_name)
若存在则返回true,否则返回false
php define("PI1",3.14);$p = "PI1";$is1 = defined($p);$is2 = defined("PI2");var_dump($is1);//bool(true)var_dump($is2);//bool(false)?>