在PHP中,常量是一种存储值的变量,它的值在定义后不能被修改,常量的命名规则与变量相同,但使用大写字母和下划线表示,PHP中的常量分为两种:全局常量和局部常量,全局常量是在脚本执行期间在整个脚本范围内都可以访问的常量,而局部常量只能在其定义的函数或方法内部访问。
1、定义全局常量
要定义一个全局常量,可以使用define()
函数。define()
函数接受两个参数:第一个参数是常量的名称,第二个参数是常量的值,定义一个名为PI
的全局常量,其值为3.14159,可以这样写:
define("PI", 3.14159);
之后,就可以在脚本的任何地方使用这个常量了,计算圆的面积:
$radius = 5; $area = PI * $radius * $radius; echo "半径为$radius的圆的面积为:".$area;
2、定义局部常量
要定义一个局部常量,可以在函数或方法内部使用const
关键字。const
关键字后面跟着常量的名称和值,定义一个名为MAX_VALUE
的局部常量,其值为100,可以这样写:
function calculateSum($a, $b) { const MAX_VALUE = 100; if ($a > MAX_VALUE || $b > MAX_VALUE) { return "输入的值不能大于".MAX_VALUE; } else { return $a + $b; } } echo calculateSum(50, 60); // 输出:输入的值不能大于100
在这个例子中,MAX_VALUE
是一个局部常量,只能在calculateSum()
函数内部访问,如果尝试在函数外部访问它,PHP会报错。
3、获取常量的值
要获取常量的值,只需使用其名称即可,要获取前面定义的全局常量PI
的值,可以这样写:
echo PI; // 输出:3.14159
同样,要获取前面定义的局部常量MAX_VALUE
的值,也可以使用其名称:
echo calculateSum(50, 60); // 输出:输入的值不能大于100
4、检查常量是否已定义
要检查一个常量是否已定义,可以使用defined()
函数。defined()
函数接受一个参数:要检查的常量的名称,如果该常量已定义,函数返回true
;否则,返回false
。
if (defined("PI")) { echo "PI已定义"; } else { echo "PI未定义"; } // 输出:PI已定义
5、取消定义常量
要取消一个常量的定义,可以使用unset()
函数,需要注意的是,只有全局常量才能被取消定义,局部常量在其作用域结束后会自动销毁。
define("PI", 3.14159); unset($GLOBALS["PI"]); // 取消定义全局常量PI echo PI; // 输出:3.14159(因为取消了定义,所以默认值为3.14159)
在PHP中,常量是一种存储值的变量,它的值在定义后不能被修改,全局常量可以在脚本执行期间在整个脚本范围内访问,而局部常量只能在其定义的函数或方法内部访问,要定义一个常量,可以使用define()
函数或const
关键字,要获取常量的值,只需使用其名称即可,要检查一个常量是否已定义,可以使用defined()
函数,只有全局常量才能被取消定义。