为了账号安全,请及时绑定邮箱和手机立即绑定

in_array() 期望参数 2 是数组,给定的字符串

in_array() 期望参数 2 是数组,给定的字符串

PHP
BIG阳 2021-09-05 16:31:19
我正在使用 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']));

您没有显示整个字符串,因此它可能存在其他问题。文本而不是图像会有所帮助。


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信