1. const定义常量
在PHP中,我们可以使用define函数来定义常量。常量一旦被定义就不能被改变。但在php5.3之后,还可以使用const关键字来定义常量。
使用const定义常量的语法如下:
const PI = 3.14;
echo PI;
上面的代码定义了一个名为PI的常量并赋值为3.14,然后通过echo语句输出常量的值。请注意,常量名区分大小写。
与使用define函数定义常量的一些不同之处:
const定义的常量必须在类中定义或在全局空间中定义。
const定义的常量不能使用变量来作为值来赋值。也就是不能在运行时进行赋值。而使用define则可以。
常量的值必须是固定不变的,否则会导致fatal error。
2. global定义全局常量
使用global关键字,能够在函数内部访问特定的全局变量。同样的,在函数内部定义的全局常量也需要使用global关键字。
全局变量可以添加到$GLOBALS超级全局变量数组中,如果想在函数内访问这些变量,需要在函数内通过_GLOBALS数组来引用。
在php中,为了让全局变量能够在整个脚本中都能被访问,可以使用global关键字将其定义为全局变量。与const不同的是,可以在任意位置使用global关键字来定义全局变量或常量。
以下是一个全局常量的示例:
global $PI;
$PI = 3.14;
function foo() {
global $PI;
echo $PI;
}
foo();
上面的代码定义了一个全局常量$PI,然后定义了一个函数foo。在函数内部,通过global关键字将$PI定义为全局常量,然后输出该常量的值。这时输出的将会是3.14。
3. 使用const还是global
使用const定义常量与使用global定义常量,应该根据实际需要来选择。一般情况下,建议使用const定义常量。使用const定义的常量比较安全,因为它们的值是不变的,并且不能在运行时更改。使用global定义的常量可能会在某些情况下导致混乱,因为它们可以在运行时更改。
4. 总结
在PHP中,我们可以使用const和global关键字来定义常量。建议在不需要在运行时更改变量值的情况下使用const定义常量,一般在函数内部需要访问全局变量时,使用global定义常量。