2017-11-03 9 views
0

私はと定数を定義します。定数を呼び出しますか?

const NAMES = [ 
    'boys' => 'john', 
    'girls' => 'sue', 
]; 

私は後で定数を呼び出して試してみて:

NAMES['boys'] 

しかし、エラーが表示されます。

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

ですが、なぜでしょうか?

EDIT:

それはあなたがクラス名(または同じクラス内からself付き)のいずれかでそれを前に置くことなく、クラスの定数を参照することはできませんPHP7

+1

@Carcigenicate Constant!== Variable –

+1

どのようなPHPバージョンを使用しますか?その<5.6の場合、定数には配列を含めることはできません。 [関連する質問](https://stackoverflow.com/questions/1290318/php-constants-containing-arrays) – Cashbee

+2

@panthroこれはクラス内で定義されていますか?それとも、グローバル名前空間の定数として? –

答えて

8

を持つクラスにあります:

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

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

グローバルスコープ内の定数は、名前だけで参照できます。

+0

ありがとうございます - 私は6分で受け入れることができます。 – panthro

関連する問題