Php 调用常数?

Php 调用常数?,php,php-7,Php,Php 7,我定义了一个常数: const NAMES = [ 'boys' => 'john', 'girls' => 'sue', ]; 我尝试稍后使用以下命令调用该常量: NAMES['boys'] 但是得到错误: "Use of undefined constant NAMES - assumed 'NAMES'" 为什么会这样 编辑: 它位于具有PHP7的类上。如果不在类常量前面加上类名(或同一类中的self),则无法引用该类常量: @Carcigenicate常

我定义了一个常数:

const NAMES = [
    'boys' => 'john',
    'girls' => 'sue',
];
我尝试稍后使用以下命令调用该常量:

NAMES['boys']
但是得到错误:

"Use of undefined constant NAMES - assumed 'NAMES'"
为什么会这样

编辑:


它位于具有PHP7的类上。如果不在类常量前面加上类名(或同一类中的
self
),则无法引用该类常量:


@Carcigenicate常量!==变量你使用什么php版本?如果其<5.6,则常量不能包含数组@panthro这是在类中定义的吗?或者仅仅作为全局命名空间中的常量?在类中意味着您必须通过其完全限定名引用它,例如
ClassName::NAMES[“boys”]
(或
self::
,从类中引用)。实际上,您总是必须通过它的完全限定名来引用它,但在全局范围中,这只是名称。
<?php
class Foo
{
  const NAMES = [
    'boys' => 'john',
    'girls' => 'sue',
  ];
}

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