我有这个选择
$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);