【问题标题】:Is there a way to have multidimensional config arrays?有没有办法拥有多维配置数组?
【发布时间】:2012-07-25 03:20:24
【问题描述】:

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

application/config/myconfig.php 的示例:

$myconfigarray = array('row1'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ),
                       'row2'=> array( 'col1'=>'col1val',
                                       'col2'=>'col2val',
                                       'col3'=>'col3val' ));

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

【问题讨论】:

  • 您应该详细说明。解释你想要发生什么,你试图让它发挥作用,以及实际发生了什么。现在这个问题没有太大意义。
  • 好的np。因此,例如 application/config/config.php 文件中的数据只有一维数组,称为 config,我们可以将该 config 数组变为二维吗?codeigniter 是否提供处理二维数组的方法/函数?跨度>
  • 发布您要使用的配置数组并解释什么不起作用。只需点击edit 即可在您的帖子中添加更多信息。
  • k 我发布了一个示例配置数组,这通常是我想要的。

标签: php arrays codeigniter config


【解决方案1】:

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

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

http://codeigniter.com/user_guide/libraries/config.html

注意:如果您创建自己的配置文件,请使用与 第一个,将您的项目存储在一个名为$config的数组中

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

$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'];

【讨论】:

  • 是的,当然,为什么不能工作?你是如何加载和读取配置文件的?
  • 可以使用 codeigniters 函数我如何访问 2d 配置数组?
  • ok examplee,codeigntiers 访问配置数组项的函数是这样的: $lang = $this->config->item('itemname');但是如果数组是二维的,codeigniter 是否有访问二维配置数组的功能?
  • 是的,不要让你使用框架的事实让你忘记了 PHP ;) 毕竟,它就是用它构建的——它不是魔法。
猜你喜欢
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
  • 2014-04-21
相关资源
最近更新 更多