PHP中的"default"关键字是什么意思?

18

在 PHP 中,关键字 default 是用来做什么的?在 http://php.net/default 上没有相关文档,但当我将其作为函数名使用时会出现错误: »unexpected T_DEFAULT, expecting T_STRING«。

它具体是做什么的,我应该在哪里找到相关信息?


17
哦,这是 switch 语句中的默认情况…现在我感觉很蠢 :-/ - knittl
大小写不敏感又来了,我想在一个类中定义一个DEFAULT常量 :D - Lajos Mészáros
1
请注意,自PHP7起,可以使用名称“default”(以及其他名称)用于一些东西,例如类的方法,因为词法分析器比以前更加智能。请参阅https://wiki.php.net/rfc/context_sensitive_lexer。 - Patrick Allaert
3个回答

18

defaultswitch 语句的一部分:

switch ($cond) {
  case 1:
    echo '$cond==1';
    break;
  case 2:
    echo '$cond==2';
    break;
  default:
    echo '$cond=="whatever"';
}

9

default关键字用于switch结构中:

$value = 'A';
switch ($value) {
case 'A':
case 'B':
    echo '$value is either A or B.';
break;
case 'C':
    echo '$value is C.';
break;
default:
    echo '$value is neither A, nor B, nor C.';
}

默认情况下,它匹配其他情况未匹配的所有内容。


5

补充其他回答:

default 是 PHP 的关键字,不能用作函数名。

当您尝试:

function default () {
 ....
}

PHP希望在关键字function后面看到一个T_STRING(标识符),但看到了一个T_DEFAULT,导致解析/语法错误:

unexpected T_DEFAULT, expecting T_STRING


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接