2010-05-25 66 views
2

我有号码的序列等如下Codeignitor全局数组宣言

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);

如果它是正确的要求如何访问这些数组值pages.Help我please.I我不codeignitor.Thanks专家

回答

7

如果我是你,我会考虑添加一个自定义配置文件(请参阅http://ellislab.com/codeigniter/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,你要寻找的值)的配置类访问阵列。

+0

现在我该如何动态地向这个数组添加另一个值?并用键2删除一个? – 2013-09-18 16:04:47

0

存储阵列中的一个会话变量:

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

要访问后,数组:

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

Session Class这样的

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,那么只返回该值,否则返回整个数组。

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