2012-02-24 62 views
2

我有这样的选择我怎么用笨

$this->db->select('modulo_regra.regra_descricao'); 
    $this->db->from('modulo_regra'); 
    $this->db->where('modulo_regra.modulo_regra_id', id); 
    $query = $this->db->get(); 

返回给我2种元素在

return $query->result_array(); 

然后我把一个数组返回数组值

$permissoes =array('areas' => $this->Regra_model->user_has($regra['regra_id'])); 

然后我将$ permissoes发送到会话

$this->session->set_userdata($permissoes); 

所以真正的问题来到这里。 当我从会议

$permissoes = array('areas'); 
    $permissoes = $this->session->userdata('areas'); 

装载值,这是它的内容:

array(2) ([0] => array(1) ([regra_descricao] => (string) clientes_cadastrar) 
      [1] => array(1) ([regra_descricao] => (string) clientes_visualizar)) 

,所以我不能用in_array验证它(),或其他的方式...我会想知道是否有如何,如果有去值这个数组中相互比较变量

if(in_array('clientes_cadastrar',$permissoes)){} 

我是新的...很抱歉,我问的方式。

+3

而不是'$ permissoes =阵列( '区');'尝试做'$ permissoes =阵列[ '领域'];' – Catfish 2012-02-24 22:22:51

回答

3

不要把整个阵列的回报即

foreach ($query->result() as $row) 
{ 
    $return[] = $row->regra_descricao; 
} 
return $return; 

THEN

,你可以很容易地找到使用:

if(in_array('clientes_cadastrar',$permissoes[**'areas'**])){} 

希望这有助于

+0

它的工作完美!谢谢你的人! – 2012-02-27 20:03:51

+0

很高兴听到你和我欢迎:) – Junaid 2012-02-28 11:48:35

1

U可以使用相同的范围。

$this->db->select('modulo_regra.regra_descricao'); 
    $this->db->from('modulo_regra'); 
    $this->db->where('modulo_regra.modulo_regra_id', id); 
    $query = $this->db->get(); 

    foreach ($query->result() as $row) 
    { 
     $permissoes = array['areas']; 
    } 

    $this->session->set_userdata($permissoes);