我用:
定义一个常量const NAMES = [
'boys' => 'john',
'girls' => 'sue',
];
我尝试稍后再调用常量:
NAMES['boys']
但是得到错误:
"Use of undefined constant NAMES - assumed 'NAMES'"
为什么会这样?
编辑:
它使用PHP7
答案 0 :(得分:8)
如果没有使用类名(或同一类中的self
)作为前缀,则不能引用类常量:
<?php
class Foo
{
const NAMES = [
'boys' => 'john',
'girls' => 'sue',
];
}
echo Foo::NAMES['boys']; // John
只能使用名称来引用全局范围中的常量。