PHP中不允许使用常量名称DEFAULT吗?

ref*_*med 4 php constants

当我尝试定义一个名为的常量时,我​​收到一个错误DEFAULT.为什么是这样?

<?php
define('DEFAULT', true);
var_dump(DEFAULT);
// or
class Test {
    const DEFAULT = true;
}
var_dump(Test::DEFAULT);
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

解析错误:语法错误,第X行的......意外'DEFAULT'(T_DEFAULT)

Spu*_*ley 8

default是PHP中的保留语言关键字.它用于switch块中的默认选项.

所以不,你不能在define声明中使用它.


Phi*_*ter 5

这是不允许的,因为DEFAULTdefault(情况无关紧要)是一个保留字.它用于switch块:

switch( $x )
{
    case 1: echo $x; break;
    case 2: echo $x; break;
    case 3: echo $x; break;
    default: echo $x; break;
}
Run Code Online (Sandbox Code Playgroud)

这是 PHP中保留字的列表.

  • 这只是为了`echo $x` ;-) (2认同)