2012-02-24 49 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);