如何使用Codeigniter获取Array值


How do I get the Array value using Codeigniter

我有这个选择

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

然后我允许$进入会话

   $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)){}

我是新手……很抱歉我这样问。

不要将整个数组作为回报,即

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

然后

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

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

希望这对有帮助

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