我正在使用 SQL 服务器构建 CodeIgniter 应用程序。我从数据库中读取用户权限,然后将其存储,以便根据用户权限显示侧边栏菜单,但出现此错误:in_array() 期望参数 2 是数组,给定字符串这是我的控制器代码: public function __construct() { parent::__construct(); $group_data = array(); if(empty($this->session->userdata('logged_in'))) { $session_data = array('logged_in' => FALSE); $this->session->set_userdata($session_data); } else { $user_id = $this->session->userdata('id'); $this->load->model('model_groups'); $group_data = $this->model_groups->getUserGroupByUserId($user_id); preg_replace_callback('!s:(\d+):"(.*?)";!', function($match) { return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';}, $group_data['permission'];); $this->data['user_permission'] = $group_data['permission']; var_dump($this->data['user_permission']); $this->permission = $group_data['permission'] ; }}当我尝试显示数据中存储的内容时 var_dump($this->data['user_permission']); 我得到:在此处输入图片说明我正在尝试像这样在我的视图中使用它们: <?php if(in_array('createUser', $this->data['user_permission']) || in_array('updateUser', $this->data['user_permission']) || in_array('viewUser', $this->data['user_permission']) || in_array('deleteUser', $this->data['user_permission'])): ?> <li class="treeview" id="userSideTree"> <a href="#"> <i class="fa fa-users"></i> <span>Utilisateurs</span> <span class="pull-right-container"> <i class="fa fa-angle-left pull-right"></i> </span> </a>你能帮我解决这个问题吗?
1 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
你有一个序列化的字符串,引号被转义了。去除斜线并反序列化:
$this->data['user_permission'] = unserialize(stripslashes($group_data['permission']));
您没有显示整个字符串,因此它可能存在其他问题。文本而不是图像会有所帮助。
- 1 回答
- 0 关注
- 164 浏览
添加回答
举报
0/150
提交
取消