叫一个常数?

时间:2017-11-03 15:06:41

标签: php php-7

我用:

定义一个常量
const NAMES = [
    'boys' => 'john',
    'girls' => 'sue',
];

我尝试稍后再调用常量:

NAMES['boys']

但是得到错误:

"Use of undefined constant NAMES - assumed 'NAMES'"

为什么会这样?

编辑:

它使用PHP7

1 个答案:

答案 0 :(得分:8)

如果没有使用类名(或同一类中的self)作为前缀,则不能引用类常量:

<?php
class Foo
{
  const NAMES = [
    'boys' => 'john',
    'girls' => 'sue',
  ];
}

echo Foo::NAMES['boys']; // John

只能使用名称来引用全局范围中的常量。