常量可以理解为值不变的量(如圆周率)或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。PHP中的常量分为自定义常量和系统常量,自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义
注:difine(PI,3.14,$case_sensitive = true);设定为true表示不敏感
<?php$p = "PII";define("PI",3.14);define($p,3.14);echo PI;echo "<br />";echo PII;?>//输出 //3.14//3.14
常量主要功效是可以避免重复定义,篡改变量值。此外,使用常量还能提高代码的可维护性,倘若代码量比较多时,不仅工作量大,还可能遗漏
<?phpdefine("PI",3.14);$r=3;echo "面积为:".(PI*$r*$r)."<br />";echo "周长为:".(2*PI*$r)."<br />";?>
系统常量是PHP已经定义好的常量,我们可以直接拿来使用
<?phpecho __FILE__;echo "<br />";echo __LINE__;echo "<br />";echo PHP_VERSION;echo "<br />";echo PHP_OS;echo "<br />";/*输出index.php45.3.29Linux*/?>
<?phpdefine("PI",3.14);$r=1;$area = PI*$r*$r; //计算圆的面积?>
函数可以动态的输出不同的常量,在使用上要灵活、方便
<?php $p="";//定义圆周率的两种取值define("PI1",3.14);define("PI2",3.142);//定义值的精度$height = "中";//根据精度返回常量名,将常量变成了一个可变的常量if($height == "中"){ $p = "PI1";}else if($height == "低"){ $p = "PI2";}$r=1;$area = constant($p)*$r*$r;echo $area;?>
defined()函数可以帮助我们判断一个常量是否已经定义,若存在则返回布尔类型true,否则返回布尔类型false
<?phpdefine("PI1",3.14);$P = "PI1";$is1 = defined($p);$is2 = defined("PI2");var_dump($is1);var_dump($is2);/*输出bool(false)bool(false)*/?>