PHP-包含一个带有变量的文件,但在实现时显示未定义的变量错误

PHP-包含一个带有变量的文件,但在实现时显示未定义的变量错误,php,undefined,config,Php,Undefined,Config,我有一个配置文件,它包含在网站的每个部分。它看起来或多或少是这样的(我删除了许多不必要的行作为示例): 此config.php文件的其中一行包含以下内容: $_ITEM_TYPES = array( 1=>"admin", 2=>"page", 3=>"repository" ); 我在一个包含这个config.php的文件中工作,我可以使用常数,比如公司名称、公司电子邮件等等。。。但是当我要使用$\u ITEM\u TYPES数组时,它会抛出一个未定

我有一个配置文件,它包含在网站的每个部分。它看起来或多或少是这样的(我删除了许多不必要的行作为示例):

config.php
文件的其中一行包含以下内容:

$_ITEM_TYPES = array(
    1=>"admin",
    2=>"page",
    3=>"repository"
);
我在一个包含这个
config.php
的文件中工作,我可以使用常数,比如公司名称、公司电子邮件等等。。。但是当我要使用$\u ITEM\u TYPES数组时,它会抛出一个未定义的变量错误:/

我使用了函数
get_included_files()
,文件确实包含在内了!我不知道为什么我不能使用这个数组

PHP文件menu.PHP

include_once("../config.php");

echo COMPANY_NAME;
//Echoes the value correctly

var_dump($_ITEM_TYPES);
//Throws error

有什么想法吗?事先谢谢大家。

我要在黑暗中拍摄。我99%确信问题的原因是您将此文件包含在其他地方。使用
include_一次
将不会再次包含该文件,因为它以前已包含在另一个范围内,但这会导致未定义变量错误


如果您希望配置阵列在全局可用,可以使用
$GLOBALS
,但这是一种错误的做法。

显示您使用阵列的文件,包括配置文件!就是这样,先生,我在数组定义之前编辑了我的问题查找
退出
死亡
返回
取消设置
等。对我来说,这几行代码都很好用!我建议你先照Abracadver说的做,否则你就把代码放在定义和数组之间。看来用我想要的方式解决这个问题是不可能的。因此,我必须将数组从那里移到我要使用的类/文件中。为了灵活性,我对这部分使用了json配置文件。是的。似乎出于某种原因,它将该数组排除在范围之外,并且不能在任何地方使用。我正在开发的系统很难做到这一点,因为它是一个类树,这个配置文件包含在它的顶部。好的是,我可以在任何地方使用这些常量:P@JuanBonnett当然可以。我不知道哪种系统没有配置类。你需要做的是创建一个类配置,它将保存这个变量,可能还有更多的变量作为静态成员,这样你就可以随时随地访问它们sense@JuanBonnett这不是我发明的,这是人们长期以来一直在做的事情。
include_once("../config.php");

echo COMPANY_NAME;
//Echoes the value correctly

var_dump($_ITEM_TYPES);
//Throws error