66828


サイト毎に異なる設定値を定数で定義しているのですが、期待した通り読み込めません。  
変数は読み込めます。  
foreachの中で、それぞれの定数を読み込むにはどうすれば良いですか？

a/config.php

[code]

    define('COUNTRY','日本');
    $area = '日本';
    
[/code]

b/config.php

[code]

    define('COUNTRY','アメリカ');
    $area = 'アメリカ';
    
[/code]

index.php

[code]

    $ary = ['/var/www/hoge/a','/var/www/hoge/b'];
    foreach ($ary as $path) {
      include( $path."/config.php");
      echo COUNTRY; //期待通り出力されない。日本　日本
      echo $area; //期待通り出力される。日本　アメリカ
    }
    
[/code]


CC BY-SA 4.0
2020-05-21T00:33:42.767
66827
2020-05-21T04:01:12.140
7886
question
php
定数の読み込みについて


defineで定義したものは二重に定義できません。先に定義したものが残ります。  
再定義するのであれば、[runkit_constant_redefine](https://php.nicedoc.net/function.runkit-
constant-redefine.html) を使う必要があります。

a/config.php

[code]

    if (!defined('COUNTRY')) {
        define('COUNTRY', '日本');
    } else {
        runkit_constant_redefine('COUNTRY', '日本');
    }
    $area = '日本';
    
[/code]


CC BY-SA 4.0
2020-05-21T00:56:47.040
66828
2020-05-21T04:01:12.140
2020-05-21T04:01:12.140
9515
9515
66827
answer