我有这个选择
$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)){}
我是新来的......很抱歉我问的方式。
答案 0 :(得分:3)
不要把整个数组放回去,即
foreach ($query->result() as $row)
{
$return[] = $row->regra_descricao;
}
return $return;
THEN
您可以轻松找到使用:
if(in_array('clientes_cadastrar',$permissoes[**'areas'**])){}
希望这会有所帮助
答案 1 :(得分:1)
你可以使用相同的范围。
$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);