Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法拥有多维配置数组?_Php_Arrays_Codeigniter_Config - Fatal编程技术网

Php 有没有办法拥有多维配置数组?

Php 有没有办法拥有多维配置数组?,php,arrays,codeigniter,config,Php,Arrays,Codeigniter,Config,我想在Codeigniter的应用程序部分创建我自己的自定义配置数据,但我想知道是否可以构建二维配置数组 application/config/myconfig.php的示例: $myconfigarray = array('row1'=> array( 'col1'=>'col1val', 'col2'=>'col2val',

我想在Codeigniter的应用程序部分创建我自己的自定义配置数据,但我想知道是否可以构建二维配置数组

application/config/myconfig.php的示例

$myconfigarray = array('row1'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ),
                       'row2'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ));
$this->load->config('myconfig');
foreach (config_item('row1') as $k => $v)
{
    echo $k.' = '.$v;
}

至少目前默认情况下,Codeigniter似乎只支持一维配置数组。如何使用多维数组?

您可以使用任何大小、形状或形式的配置数组。让它们工作完全取决于你想用它们做什么,如何加载它们,以及如何阅读它们

我认为您的问题是需要将
$myconfigaray
重命名为
$config

注意:如果您创建自己的配置文件,请使用与相同的格式 主要的一个,将您的项目存储在一个名为
$config

对于您的示例,假设文件名为
myconfig.php

$myconfigarray = array('row1'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ),
                       'row2'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ));
$this->load->config('myconfig');
foreach (config_item('row1') as $k => $v)
{
    echo $k.' = '.$v;
}
这将打印:

col1 = col1val
col2 = col2val
col3 = col3val
如果需要访问某个索引,则必须执行以下操作:

$item = config_item('row1');
echo $item['col1']; // col1val
如果您碰巧正在运行PHP 5.4,您可以这样访问它:

echo config_item('row1')['col1'];

您可以有任何大小、形状或形式的配置数组。让它们工作完全取决于你想用它们做什么,如何加载它们,以及如何阅读它们

我认为您的问题是需要将
$myconfigaray
重命名为
$config

注意:如果您创建自己的配置文件,请使用与相同的格式 主要的一个,将您的项目存储在一个名为
$config

对于您的示例,假设文件名为
myconfig.php

$myconfigarray = array('row1'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ),
                       'row2'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ));
$this->load->config('myconfig');
foreach (config_item('row1') as $k => $v)
{
    echo $k.' = '.$v;
}
这将打印:

col1 = col1val
col2 = col2val
col3 = col3val
如果需要访问某个索引,则必须执行以下操作:

$item = config_item('row1');
echo $item['col1']; // col1val
如果您碰巧正在运行PHP 5.4,您可以这样访问它:

echo config_item('row1')['col1'];

你应该详细说明。解释你想要发生什么,你试图让它工作,以及实际发生了什么。现在这个问题没有太多意义。例如,application/config/config.php文件中的数据只有一个一维数组,称为config,我们可以将该配置数组转换为二维数组吗?codeigniter是否提供了处理二维数组的方法/函数?发布您想要使用的配置数组,并解释哪些不起作用。只需单击以向您的帖子添加更多信息。我发布了一个配置数组示例,这通常是我想要的。您应该详细说明。解释你想要发生什么,你试图让它工作,以及实际发生了什么。现在这个问题没有太多意义。例如,application/config/config.php文件中的数据只有一个一维数组,称为config,我们可以将该配置数组转换为二维数组吗?codeigniter是否提供了处理二维数组的方法/函数?发布您想要使用的配置数组,并解释哪些不起作用。我发布了一个配置数组示例,这通常就是我想要的。是的,当然,为什么它不工作呢?如何加载和读取配置文件?使用codeigniters函数确定如何访问2d配置数组?确定示例,访问配置数组项的codeigniters函数是:$lang=$this->config->item('itemname');但是如果数组是二维的,那么codeigniter是否具有访问二维配置数组的功能呢?是的,不要因为使用框架而忘记PHP;)毕竟,这就是它的构造——它不是魔法。是的,当然,为什么它不起作用呢?如何加载和读取配置文件?使用codeigniters函数确定如何访问2d配置数组?确定示例,访问配置数组项的codeigniters函数是:$lang=$this->config->item('itemname');但是如果数组是二维的,那么codeigniter是否具有访问二维配置数组的功能呢?是的,不要因为使用框架而忘记PHP;)毕竟,这就是它的构造——它不是魔法。