Codeigniter全局阵列声明

时间:2010-05-25 12:01:30

标签: php codeigniter

我有一系列数字,如下所示

1 - > 25, 2 - > 60, 3 - > 80, 4 - > 100 等等

这意味着如果输入是1输出将是25等等...我需要将它存储在全局数组中。我想在多个页面中使用它。在codeigniter中我可以声明一个全局数组和存储所有这些?

我在constants.php中尝试如下

$CONFIDENCEVALUE = array(); $CONFIDENCEVALUE[] = array('1'=>25,'2'=>'60','3'=>80,'4'=>100);

如果它是正确的,如何在所需的页面中访问这些数组值。请帮助我。我不是codeignitor的专家。

3 个答案:

答案 0 :(得分:7)

如果我是你,我会考虑添加自定义配置文件(请参阅https://www.codeigniter.com/user_guide/libraries/config.html)。

所以在例如。 application/config/confidencevalue.php添加以下内容

$CONFIDENCEVALUE = array('1'=>25,'2'=>'60','3'=>80,'4'=>100);
$config['confidencevalue'] = $CONFIDENCEVALUE;

将配置文件添加到application/config/autoload.php,然后您就可以使用$this->config->item('1', 'confidencevalue');通过配置类访问您的阵列(将1替换为您要查找的值)。< / p>

答案 1 :(得分:0)

将数组存储在会话变量中:

$this->session->set_userdata('cvarray', $CONFIDENCEVALUE);

稍后访问该数组:

$this->session->userdata('cvarray');

CodeIgniter Session Class

答案 2 :(得分:0)

这样做的一种方法是将函数添加到全局可用的帮助文件中。

我有一个辅助文件application / helpers / main_helper.php,其中我加载了许多在我的应用程序中使用的通用函数。

如果将以下函数添加到main_helper文件中:

/*
|--------------------------------------------------------------------------
| Function to retrieve Static Variables used Globally
|--------------------------------------------------------------------------
*/
function get_var($var = 'CONFIDENCEVALUE', $KEY = NULL) {
    $r = false;
    switch ($var) {
        case 'CONFIDENCEVALUE':
            $r = array('1'=>25,'2'=>'60','3'=>80,'4'=>100);
            if($KEY !== NULL) $r = $r[$KEY];
            break;
    }
    return $r;
}

通过编辑文件application / config / autoload.php并编辑该行来自动加载此文件:

$autoload['helper'] = array('main_helper');

每当需要此数组(或数组中的值)时,请调用该函数。例如:

$CONFIDENCE = get_var('CONFIDENCEVALUE', 2); 

如果在调用get_var()时包含$ KEY,则只返回该值,否则返回整个数组。

要使其他变量可用,只需将它们添加到交换机并根据需要调用它们。 欢迎反馈:)。